获取过载文件错误

Getting overloaded file error?

本文关键字:错误 文件 获取      更新时间:2023-10-16

正在做一些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++ 还很陌生。有什么想法可以解决吗?谢谢。

您未能声明count但通过以下方式使用此符号

using namespace std;   // don't ever do that!
count++;

那么,您认为编译器会在这里理解count什么?事实证明,在您刚刚全局可见的namespace中实际上有一个该名称的符号:std::count() ,这是一个重载的函数模板。由于这是与名称匹配的唯一可能的候选者,因此编译器尝试在此处使用它,但这不起作用,因此出现错误。

为避免此类问题以及由此产生的难以理解的错误消息,切勿using namespace std;