을 제공하지 I가 다음과 같은 기능부스트 :: 향상 얻을 :: 변형은 더 정확한 출력
template <typename T, typename U>
const T* visitor_fct(U& operand)
{
return (boost::get<T>(&operand));
}
내가
boost::variant<int, std::string> str = "string";
std::cout << visitor_fct<std::string>(str) << std::endl;
내가 올바른 출력을 얻을 할 때
그러나 때 내가 str의 선언을 다음과 같이 변경하십시오.
boost::variant<int, std::string, bool> str = "toto";
나는 항상 nullptr
을 얻고있다;
왜?