gpt4 book ai didi

c++ - boost::variant 是否与 std::string 一起使用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:08 24 4
gpt4 key购买 nike

我使用 boost::variant 用 C++ 编写了一个简单的程序。程序代码如下所示。

    #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 时,一切都很好。

提前致谢。

最佳答案

问题是 wstring不能是 <<cout .尝试使用 wcout反而。这不是变体的问题。

关于c++ - boost::variant 是否与 std::string 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com