回 帖 发 新 帖 刷新版面

主题:c++转换问题

#include <iostream>
using std ::cout;
using std :: cin;
using std ::endl;
#include <string>
using std ::string;
using std ::getline;
class GradeBook
{
public:
    void setCourseName(string name)
    { courseName=name;}
string getCourseName()
    { return courseName;}
    void displayMessage()
    { cout<<"welcome to the GradeBook"<<getCourseName()<<endl;}
private :
    string courseName;
}

 main()
{
string nameofCourse;
GradeBook  myGradeBook;
cout<<"Initial course name is:"<< myGradeBook .getCourseName()<<endl;
cout<<"\nplease enter coursename:"<<endl;
getline(cin,nameofCourse);
myGradeBook.setCourseName(nameofCourse);
cout<<endl;
myGradeBook .displayMessage();

    
}error C3874: “main”的返回类型应为“int”而非“GradeBook”
我不知道怎么办 谢谢各位大哥多多指点

回复列表 (共1个回复)

沙发

你的编译器要求main函数返回一个int值,而getCourseName这个函数被写成内联函数,因此在调用时,return courseName代码被复制到调用的地方,这样就出现返回值的类型不正确的错误,修改方法是将getCourseName函数的实现代码写到外面.
另外编译器要求main函数有返回值的话,应该在main前加上int,并在函数结束之前加上return 0 ;

我来回复

您尚未登录,请登录后再回复。点此登录或注册