gpt4 book ai didi

c++ - 数组下标的无效类型

转载 作者:太空宇宙 更新时间:2023-11-04 13:23:50 34 4
gpt4 key购买 nike

我收到了几个数组下标错误,也没有匹配的函数来调用 get line...我不确定到底是为什么。

错误:数组下标的无效类型“int[int]”

错误:数组下标的无效类型“double[int]”

错误:数组下标的无效类型“int[int]”

错误:没有匹配函数来调用“getline(bool)”

到目前为止,这是我的代码:

#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <iomanip>
using namespace std;

struct CountiesFirst
{
int counties;
double poverty_rate;
double income;
};

const int MAX_COUNTIES = 10;

bool openFile(ifstream& input)
{
int counties;
double poverty_rate;
double income;
int i=0;
char filename[256];

cout << "Welcome to the Appalachian Poverty/Income Report\n";
cout << "Enter input file name: ";
cin >> filename;

input.open(filename);
getline(input, counties);

while (getline(!input.eof() && i < MAX_COUNTIES))
{
input>>counties[i];
input>> poverty_rate[i] >> income[i];
++i;
}
while (input.eof())
{
input.putback (i) ;
cout << "Input file is empty" << endl;
return i;
}

return !input.fail();
}

void printTable(string counties[],
double poverty_rate[],
double income[],
size_t size)
{
cout << "Counties Poverty Rate Salary\n";
cout << "---------------------------------------\n";
for (size_t i = 0; i < size; ++i)
{
cout.width(17);
cout << left << counties[i];
cout << poverty_rate[i] << "%";
cout.width(13);
cout << right << "$" << income[i] << endl;
}
}


int main()
{
CountiesFirst counties [MAX_COUNTIES];
int filename;

ifstream input;
ofstream output;

if (openFile(input))
{
//sort(counties, poverty_rate, income, size);
void printTable(string counties[], double poverty_rate[], double income[], int size);
}
else
{
cout << "Input file does not exist.\n";
exit(EXIT_FAILURE);

input.close();
output.close();
}
return 0;
}

最佳答案

  1. 这里:

    int counties;
    double poverty_rate;

    input >> counties[i];
    input >> poverty_rate[i] >> income[i];

    您正在尝试使用 intdouble,就像它们是数组一样。他们不是。
    它会产生“数组下标的无效类型”错误。

  2. getlineistreamstring 作为参数。

    同时,这里你传递int:

    int counties;
    getline(input, counties);

    这里你做的事情是完全错误的:

    getline(!input.eof() && i < MAX_COUNTIES)

    它会产生“没有匹配的函数”错误。

关于c++ - 数组下标的无效类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34034811/

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