2014-02-17 111 views
0

我是C++新手(我是C程序員),所以我很抱歉,如果這看起來像一個愚蠢的問題。在C++中獲取錯誤信息

當我運行這個程序,我得到了以下錯誤消息:

錯誤C2661:'學生::學生:沒有重載函數採用2個參數

我評論發生錯誤(2個實例) 。謝謝。

//Definition.cpp 

#include "Student.h" 

Student::Student(string initName, double initGPA) //error here and in main.cpp 
{ 
     name = initName; 
     GPA = initGPA; 
} 

string Student::getName() 
{ 
     return name; 
} 

double Student::getGPA() 
{ 
     return GPA; 
} 

void Student::printInfo() 
{ 
     cout << name << " is a student with GPA: " << GPA << endl; 
} 

//student.h 

#include <string> 
#include <iostream> 

using namespace std; 

class Student 
{ 
     private: 
       string name; 
       double GPA; 
     public: 
       string getName(); 
       double getGPA(); 
       void setGPA(double GPA); 
       void printInfo(); 
}; 


//main.cpp 

#include <iostream> 
#include "Student.h" 

int main() { 
     Student s("Lemuel", 3.2); //here is the error 

     cout << s.getName() << endl; 
     cout << s.getGPA() << endl; 

     cout << "Changing gpa..." << endl; 
     s.setGPA(3.6); 

     s.printInfo(); 
     return 0; 
} 
+0

不要阻止自己問的疑慮。提出疑問是常見的,不要擔心它的愚蠢錯誤或大錯誤 –

回答

5

您的構造函數未被聲明。

試試這個:

class Student 
{ 
     private: 
       string name; 
       double GPA; 
     public: 
       Student(string initName, double initGPA); 
       string getName(); 
       double getGPA(); 
       void setGPA(double GPA); 
       void printInfo(); 
};