我刚刚在我的第一个编程课程结束时(第一个编程课程),我需要协助我的代码,看看我是如何弄清楚编译错误。
首先,有一个事实是我试图加载的数组给了我一些问题。
string stu[15];
stu[0]= Billy;
stu[1]= Bobby;
stu[2]= Bailee;
stu[3]= Barney;
stu[4]= Bambi;
stu[5]= Barbie;
stu[6]= Barrie;
stu[7]= Barry;
stu[8]= Benny;
stu[9]= Barkley;
stu[10]= Bennie;
stu[11]= Bonnie;
stu[12]= Bernie;
stu[13]= Bertie;
stu[14]= George;
显然它说每一个都是未宣布的。但我认为这几乎是数组的重点?不要把所有时间花在声明变量上?
我的另一个问题是这段代码......
int name_count = 0;
while (name_count < 15)
{
inputFile >> (stu[0]);
if (!inputFile.good()) break;
++name_count;
}
我正在尝试将.txt
文件中的数据加载到数组中,而我对如何执行此操作感到困惑。
所有代码在一起:
#include <iostream>
#include <fstream>
#include <cmath>
#include <string>
using namespace std;
int main() {
string inputFile;
string stu[15];
stu[0] = Billy;
stu[1] = Bobby;
stu[2] = Bailee;
stu[3] = Barney;
stu[4] = Bambi;
stu[5] = Barbie;
stu[6] = Barrie;
stu[7] = Barry;
stu[8] = Benny;
stu[9] = Barkley;
stu[10] = Bennie;
stu[11] = Bonnie;
stu[12] = Bernie;
stu[13] = Bertie;
stu[14] = George;
ofstream(studentFile)("Students.txt");
studentFile.open("Students.txt");
studentFile << " STUDENT INFO HERE ";
studentFile.close();
int name_count = 0;
while (name_count < 15) {
inputFile >> (stu[0]);
if (!inputFile.good())
break;
++name_count;
}
system("pause");
return 0;
}
我不断收到编译错误:
与'operator&gt;&gt;'不匹配在'inputFile&gt;&gt; stu [0]'
和
'struct std :: string'没有名为'good'的成员
很确定我在这里遗漏了一些东西...任何帮助都会非常感激。非常感谢你。
答案 0 :(得分:1)
与'operator&gt;&gt;'不匹配在'inputFile&gt;&gt; STU [0]'
你不能使用&lt;&lt;或&gt;&gt;用字符串。
inputFile
属于std :: string类型,不具有任何成员函数 good()。您可能打算使用输入文件流( ifstream )。
另外,请避免使用system()
来电。
答案 1 :(得分:0)
您忘记用""
"Bernie"
C ++目前你试图将你的结构分配给对象Billy
,Bobby
等等......
这是因为C ++需要显式类型声明,编译器并不知道Billy
应该是字符串而不是对象。您需要使用"Billy
来表示字符串类型。