The ERROR! starts from line 7
GradeBook::GradeBook(string name)(Type name is not Allowed)
我写的和示例一样,不能理解为什么它不起作用,我正在使用visual studio 2015进行编译。
#include <iostream>
#include "Header.h"
using namespace std;
int main() {
GradeBook::GradeBook (string name) {
setCourseName(name);
}
void GradeBook::setCourseName(string name) {
coursename = name;
}
string GradeBook::getCourseName() {
return courseName;
}
void GradeBook::displayMessage() {
cout << "Welcome to the Grade Book\n" << getCourseName <<"!" << endl;
}
system("PAUSE");
return 0;
}
答案 0 :(得分:1)
您需要将班级成员函数的定义移到main
之外。
#include <iostream>
#include "Header.h"
using namespace std;
GradeBook::GradeBook (string name) {
setCourseName(name);
}
void GradeBook::setCourseName(string name) {
coursename = name;
}
string GradeBook::getCourseName() {
return courseName;
}
void GradeBook::displayMessage() {
cout << "Welcome to the Grade Book\n" << getCourseName <<"!" << endl;
}
int main() {
system("PAUSE");
return 0;
}
答案 1 :(得分:0)
我们无法在c ++中定义另一个函数内的函数。
int main() {
GradeBook::GradeBook (string name) {
setCourseName(name);
}
void GradeBook::setCourseName(string name) {
coursename = name;
}
return 0;
}
但可以在另一个函数中声明函数。
并且任何其他IDE也不允许在另一个函数中定义函数。你可以这样定义。
GradeBook::GradeBook (string name) {
setCourseName(name);
}
void GradeBook::setCourseName(string name) {
coursename = name;
}
int main(){
GradeBook b;
return 0;
}