gpt4 book ai didi

c++ - 使用 clang 编译 std::tuple 时遇到问题

转载 作者:行者123 更新时间:2023-11-30 03:23:05 30 4
gpt4 key购买 nike

我在使用 clang 编译模板时遇到问题。感谢任何帮助。

虽然该库的作者声称他在 linux 上使用 gcc 编译了以下代码,但当我尝试使用 clang 进行编译时,它会提示编译以下模板:

//这给出了“预期表达式”的错误

template<class T1, class T2, class T3> static ostream& operator << (
ostream& out, const std::tuple<T1, T2, T3>& t) {
out << t.get<0>() << " " << t.get<1>() << " " << t.get<2>();
return out;
}

这给出了错误:

no member named 'get' in 'std::__1::tuple<std::__1::basic_string<char>, std::__1::basic_string<char>, int, int>'

代码:

void save_by_conns(vector<real_t> &container, const string &nam)
{
LOOP(const WC_CONN_PAIR &p, connections)
{
VDI begin = container.begin() + p.second.get<2>();
VDI end = container.begin() + p.second.get<3>();
if (begin != end)
{
save_range(make_pair(begin, end), p.second.get<1>() + "_" + nam);
}
}
}

最佳答案

为了检索非成员的元组元素std::get应该使用函数:

out << ::std::get<0>(t) << " " << ::std::get<1>(t) << " " << ::std::get<2>(t);

关于c++ - 使用 clang 编译 std::tuple 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50654695/

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