Я написал простую программу на C ++ с использованием Boost :: Вариант. Код программы представлен ниже.
#include <string>
#include <iostream>
#include <boost/variant.hpp>
int main (int argc, char** argv)
{
boost::variant<int, std::wstring> v;
v = 3;
std::cout << v << std::endl;
return 0;
}
Но когда я пытаюсь скомпилировать это командой
g++ main.cpp -o main -lboost_system
я получаю
/usr/include/boost/variant/detail/variant_io.hpp:64: error: no match for ‘operator<<’ in ‘((const boost::detail::variant::printer<std::basic_ostream<char, std::char_traits<char> > >*)this)->boost::detail::variant::printer<std::basic_ostream<char, std::char_traits<char> > >::out_ << operand’
с последующим набором функций-кандидатов.
Что мне не хватает? Самое смешное, что когда я использую std::string
вместо std::wstring
, все прекрасно работает.
Заранее спасибо.