【发布时间】:2016-07-28 13:31:44
【问题描述】:
我有下面的代码,信用和加载成功保存到对象,但代码和标题只取字符串的第一个字母。我一开始尝试了course[noOfCourses_].setCode(Code),但它给了我一个错误:
cannot initialize a parameter type char with lvalue char[7].
另一个问题是输入跳过了标题的输入提示,直接进入了信用提示。
void addCourse() {
Course*course=new Course[MAX_NO_RECS];
char Code[MAX_COURSECODE_LEN];
char title[20];
int credit;
int load;
cout << "Course Code: ";
cin.clear();
cin >> Code;
cin.clear();
course[noOfCourses_].setCode(Code[0]);
cin.clear();
cout << "Course Title: ";
cin.getline(title, 20);
cin.clear();
course[noOfCourses_].setTitle(title[0]);
cin.clear();
cout << "Credits: ";
cin >> credit;
course[noOfCourses_].setCredits(credit);
cout << "Study Load: ";
cin >> load;
course[noOfCourses_].setLoad(load);
noOfCourses_++;
courseList_[noOfCourses_]=course;
}
【问题讨论】:
-
错误 cannot initialize a parameter type char with lvalue char[7] 很清楚,您正在尝试将
char x初始化为char x[7]即:一个数组一个变量。检查或发布您的Cursor类定义。 -
如何实现 Course::setCode 函数?我认为它的参数类型应该是char *。
-
char Course::getCode()const{ return *courseCode_;我有这个,它给了我一个错误“EXC_BAD ACCESS”
-
当你只填充一个
Course时,为什么course是一个指向数组的指针?
标签: c++ xcode computer-science