【发布时间】:2023-01-24 22:51:14
【问题描述】:
我正在尝试将 vector 的成员写入文件,但在循环操作时出现此错误:
no operator "<<" matches these operands
我怎样才能将这些成员写入文件?
std::ofstream raport;
raport.open("test.txt", std::ios_base::app);
std::vector<std::vector<float>> targetInputs = {
{0.0f, 0.0f},
{1.0f, 1.0f},
{1.0f, 0.0f},
{0.0f, 1.0f}
};
for (int i = 0;i < targetInputs.size(); i++) {
raport << targetInputs[i];
}
【问题讨论】:
-
您不是从 vector 编写成员(那些是 vector 内部的),而是试图将 vectors 项写入文件。在这种情况下,你有一个向量的向量,所以你需要两个循环。在这种情况下考虑使用range based for loops。
-
您需要阅读完整的错误信息。它包含的信息比您在此处包含的信息多得多。它应该告诉您代码中需要什么运算符 <<,它应该告诉您两个操作数的类型。
标签: c++ for-loop vector ofstream