Boost.program_options ライブラリを使用しており、Unicode サポートで Implicit_value を指定する必要があります。
ansi-string の場合、このコードは正常に機能します
po::options_description desc("Usage");
desc.add_options()
("help,h", "produce help message")
("-option,o", po::value<std::string>()->implicit_value(""), "descr");
しかし、このようにUnicodeサポートを使用すると
po::options_description desc("Usage");
desc.add_options()
("help,h", "produce help message")
("-option,o", po::wvalue<std::wstring>()->implicit_value(L""), "descr");
次のエラーが表示されます。
boost/lexical_cast.hpp(1096): error C2039: 'setg' : is not a member of 'boost::detail::lexical_stream_limited_src<CharT,Base,Traits>'
boost/lexical_cast.hpp(1097): error C2664: 'std::basic_istream<_Elem,_Traits>::basic_istream(std::basic_streambuf<_Elem,_Traits> *,bool)' : cannot convert parameter 1 from 'base *' to 'std::basic_streambuf<_Elem,_Traits> *'
boost/lexical_cast.hpp(1103): error C2678: binary '>>' : no operator found which takes a left-hand operand of type 'std::basic_istream<_Elem,_Traits>' (or there is no acceptable conversion)
私は何を間違っていますか?