我有以下功能的boost ::獲得提振::變異沒有給予正確的輸出
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
;
爲什麼?