我有下面的代碼,信用和加載成功保存到對象,但代碼和標題只採用字符串的第一個字母。我第一次嘗試course[noOfCourses_].setCode(Code)
,但它給我一個錯誤:如何通過用戶輸入用C++中的對象初始化數組?
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初始化左值字符參數類型char [7] _是明確的,你正試圖初始化一個'焦炭x'爲'焦X [ 7]'ie:一個數組到一個變量。 檢查或發佈你的'Cursor'類定義。 –
你如何實現Course :: setCode函數?我認爲它的參數類型應該是char *。 –
char Course :: getCode()const { return * courseCode_; }我有這個,它給了我一個錯誤「EXC_BAD ACCESS」 – aok