gpt4 book ai didi

c++ - Boost 的 is_any_of 导致编译警告?

转载 作者:搜寻专家 更新时间:2023-10-31 02:10:27 27 4
gpt4 key购买 nike

我的代码中有以下几行:

std::vector<std::string> lines;
boost::split(lines, output, boost::is_any_of("\n"));

在哪里outputconst std::string .

编译时出现错误: error: implicit conversion changes signedness: 'typename range_difference<iterator_range<const char *> >::type' (aka 'long') to 'std::size_t' (aka 'unsigned long') [-Werror,-Wsign-conversion]
std::size_t Size=::boost::distance(Range);
这源于

 boost::split(lines, output, boost::is_any_of("\n"));
^

似乎是 boost 中的内部输入错误?有人遇到过这个吗?

注意:使用 gcc 版本 5.3.1 20160406 (Red Hat 5.3.1-6) 进行编译,设置了大多数警告标志和 -Werror。

注 2:正如@sehe 所示,这确实是一个 boost 问题。那么让我改变一下问题 - 有谁知道解决这个问题的方法吗?

谢谢!

最佳答案

转载问题

https://wandbox.org/permlink/LIf0wzUPQxrz7pik (海湾合作委员会) 和 https://wandbox.org/permlink/BofswARbx1BpVE6H (铿锵)

#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string.hpp>
#include <vector>
#include <string>

int main() {
std::string output;
std::vector<std::string> lines;
boost::split(lines, output, boost::is_any_of("\n"));
}

这应该报告给 Boost 算法的维护者(参见 boost 邮件列表或 https://svn.boost.org/trac10/query?status=assigned&status=new&status=reopened&component=string_algo&col=id&col=summary&col=status&col=owner&col=type&col=milestone&order=priority)

关于c++ - Boost 的 is_any_of 导致编译警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45211248/

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