gpt4 book ai didi

c++ - 错误 : No operator “<<” matches these operands

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

我对 C++ 仍然很生疏,而且我在理解我的问题时遇到了困难。我收到的错误消息是“没有运算符‘<<’匹配这些操作数”我的代码:

for(int i = 0; i < ruleList.size(); i++)
{
cout << ruleList[i].lhs << endl;
cout << ruleList[i].rhs << endl; // Problem printing this
}

struct Rules
{
string lhs;
vector<string> rhs;
}rule;

vector<Rules> ruleList;

这是执行此操作的合适方法吗?我以同样的方式执行了 lhs,它工作正常。

rule.rhs.push_back(token);
ruleList.push_back(rule);

最佳答案

没有operator<<为标准容器定义。您将需要编写一个打印函数,大致如下:

void print(std::ostream& out, std::vector<std::string> const & data) {
std::copy(data.begin(), data.end(),
std::ostream_iterator<std::string>(out, " "));
}

然后将其用作:

print(std::cout, ruleList[i].rhs);

关于c++ - 错误 : No operator “<<” matches these operands,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21871472/

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