C++ 错误类型不允许

C++ 错误类型不允许,c++,visual-c++,C++,Visual C++,错误!从第7行开始,该行是成绩册::成绩册(字符串名称)(不允许使用类型名称) 我写的和示例中一样,我无法理解为什么它不工作,我正在使用visual studio 2015进行编译 #include <iostream> #include "Header.h" using namespace std; int main() { GradeBook::GradeBook (string name) { setCourseName(name);

错误!从第7行开始,该行是
成绩册::成绩册(字符串名称)(不允许使用类型名称)
我写的和示例中一样,我无法理解为什么它不工作,我正在使用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; 
} 
#包括
#包括“Header.h”
使用名称空间std;
int main(){
成绩册::成绩册(字符串名称){
setCourseName(名称);
} 
无效成绩册::setCourseName(字符串名称){
coursename=名称;
} 
字符串成绩册::getCourseName(){
返回courseName;
} 
作废成绩册::displayMessage(){

cout您需要将类的成员函数的定义移到
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; 
} 
#包括
#包括“Header.h”
使用名称空间std;
成绩册::成绩册(字符串名称){
setCourseName(名称);
} 
无效成绩册::setCourseName(字符串名称){
coursename=名称;
} 
字符串成绩册::getCourseName(){
返回courseName;
} 
作废成绩册::displayMessage(){

CUT< P>不能定义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;   
 }

#使用命名空间std;int main(){GradeBook::GradeBook(字符串名称){setCourseName(名称);}void GradeBook::setCourseName(字符串名称){coursename=name;}string GradeBook::getCourseName(){return coursename;}void GradeBook::displayMessage(){无法使用链接编辑您的帖子并在那里添加代码。谢谢!这解决了问题