我正在尝试将txt文件读入功能readIn中的向量中。我无法一辈子都可以工作。我收到以下消息“错误:'&'令牌之前的预期主表达式 readIn(ifstream&infile,vec);“或根本不调用该函数。
int main() {
const int MAXSIZE = 100;
vector<int> vec (MAXSIZE);
ifstream infile;
infile.open("in9.3.txt");
readIn(ifstream& infile, vec);
return(0);
}
void readIn(ifstream& infile, vector<int> &vec) {
int a, count;
count = 0;
while (!infile.eof()) {
infile >> a;
vec.at(count) = a;
count++;
}
infile.close();
vec.resize(count);
}
答案 0 :(得分:3)
传递给函数时,不得指定参数的类型。您写的内容不正确:
readIn(ifstream& infile, vec); // error
请注意,您正在尝试传递在infile
中定义的变量main
。编译器抱怨您以ifstream&
为前缀的事实。正确的呼叫是:
readIn(infile, vec);
还要注意,由于函数是在main
之后定义的,因此必须在 main
之前的某个位置声明函数。由于您没有显示完整的程序,因此不清楚是否执行了此操作。无论如何,您都可以将整个定义移到main
之前,也可以只添加以下行:
void readIn(ifstream&, vector<int>&);