我得到一个错误:要求“考试”中的成员“模块”,这是非类“ ExamType [12]”-这是我不理解的工作分配问题。
任何帮助将不胜感激。
代码
#include <iostream>
#include <string>
using namespace std;
class ExamType
{
public:
ExamType();
ExamType(string m, string v, int t, string d);
private:
string module;
string venue;
int time;
string date;
};
int main()
{
ExamType exams[12];
for (int i = 0; i < 12; i++)
if (exams.module[i] == "COS1512") cout << "COS1512 will be written on " << exams.date << " at " << exams.time;
return 0;
}
答案 0 :(得分:3)
这里有两个问题:
module
是private
,无法在main
中访问。制作模块public
或使用get方法。
以下内容将不起作用:
if (exams.module[i] == "COS1512")
应为:
if (exams[i].module == "COS1512")
这是因为exams
是类ExamType
的数组,并且在类module
中没有定义ExamType
的数组。
类似地,在cout
语句中,exams.date
和exams.time
也应更改为exams[i].date
和exams[i].time
。