错误类型不允许

时间:2018-03-11 06:46:52

标签: c++ visual-c++

{p> 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; 
} 

2 个答案:

答案 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;   
 }