
std::visit을 사용하여 A 형태의 값을 B 형태로 변환하는 방법은 다음과 같습니다.
#hostingforum.kr
cpp
#include
#include
struct A {
int a;
};
struct B {
float b;
};
int main() {
std::variant var = A{1};
A a = std::get(var);
B b;
std::visit([&b](auto&& arg) { b = arg; }, var);
std::cout << a.a << std::endl; // 정상 출력
std::cout << b.b << std::endl; // 정상 출력
return 0;
}
위 코드에서 std::visit은 A 형태의 값을 B 형태로 변환하는 것을 방지하기 위해 B 형태의 객체 b를 생성하고, std::visit의 인자로 참조를 전달합니다.
이렇게 하면 std::visit은 A 형태의 값을 B 형태로 변환하여 b에 저장합니다.
또한, std::visit을 사용하여 A 형태의 값을 B 형태로 변환하는 방법은 다음과 같습니다.
[code]#hostingforum.kr
cpp
#include
#include
struct A {
int a;
};
struct B {
float b;
};
int main() {
std::variant
2025-07-02 20:55