处理一些需要我将数据输出到文件中的c ++作业,然后从中读取数据并得到数字和平均值的总和。到目前为止,这是我的代码:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream outfile;
outfile.open("test.txt");
outfile << "28 36 20 36 2 81 12 47/n ";
outfile << "62 1 29 32 923 39 21 12/n ";
outfile << "67 23 83 2 10 34 755 23/n ";
outfile << "24 29 47 7 29 86 426 9/n ";
outfile << "1 36 76 24 628 12 8 28/n ";
outfile << "55 29 63 825 51 4 739 34/n ";
outfile << "38 29 16 923 27 2 84 28/n ";
outfile.close();
ifstream infile;
infile.open("test.txt");
ifstream read("test.txt");
int num, sum;
read >> num >> sum;
if (read.is_open())
{
string Array_1[8];
for (int i = 0; i <= 8; i++)
{
read >> Array_1[i];
while (read.good())
{
count++;
sum += num;
double avg = num/8;
cout << "Total: " << num;
cout << " Average: " << avg;
}
}
我希望将第一行输出读回给用户并一起添加。但是,在我的计数器旁边我收到错误:无法解析对重载函数的引用;你的意思是打电话吗?
我还是c ++的新手。任何想法如何解决它?谢谢。
答案 0 :(得分:2)
您未能声明count
,但通过
using namespace std; // don't ever do that!
count++;
那么您认为编译器会理解count
在这里是什么?事实证明,在您刚刚全局可见的namespace
中实际存在该名称的符号:std::count()
,这是一个重载的函数模板。由于这是唯一可能与名称匹配的候选者,因此编译器会尝试在此处使用它,但这不起作用,因此会出错。
为了避免此类问题以及由此产生的难以理解的错误消息,从不说using namespace std;
。