gpt4 book ai didi

c++ - 无法获取要编译的 boost header

转载 作者:行者123 更新时间:2023-11-28 06:08:11 24 4
gpt4 key购买 nike

我想使用 Boost 库来拆分字符串,但我在使用 Visual Studio 时遇到编译错误。

我的代码有 #include "boost/algorithm/string/split.hpp";#include "boost/algorithm/string/classification.hpp"; 和我项目的 include 目录包含 C:\Data\Libraries\Boost_1.56.0,它本身包含带有 Boost 头文件的根 boost 目录。

然后我有以下内容:

std::string line = "this,is,a,test";
std::vector<std::string> strings;
boost::algorithm::split(strings, line, boost::is_any_of(','));

但这给了我各种各样的错误,例如:

Error   37  error C2039: 'type' : is not a member of 'boost::mpl::eval_if_c<false,boost::range_const_iterator<char,void>,boost::range_mutable_iterator<char,void>>' C:\Data\Libraries\Boost_1.56.0\boost\range\iterator.hpp 69

有什么帮助吗?

最佳答案

该消息令人困惑,因为它基本上是发脾气的模板元编程,但问题是 boost::is_any_of(',') 无法编译,因为 ',' 是不能被视为“范围”的单个字符。

你打算写:

boost::algorithm::split(strings, line, boost::is_any_of(","));
// ^ ^

关于c++ - 无法获取要编译的 boost header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31929015/

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