2014-05-10 83 views
0

我無法擺脫一對情侶在我的代碼編譯錯誤的我已經用類似的語法其他地方的程序沒有問題的轉換,所以我不知道什麼是錯的C++錯誤:預期的構造函數,析構函數或類型之前「(」令牌

在PersonalRec.h:

#ifndef PersonalRec_H 
#define PersonalRec_H 

class PersonalRec 
{ 
public: 
    PersonalRec(); 
    PersonalRec (string fName, string lName, Date bDate); //This line shows the first error 
protected: 
    void displayPersonalRec() const; 
    int getAgeInYears() const; 

private: 
    std::string FirstName; 
    std::string LastName; 
    Date DoB; 
}; 

#endif 

在PersonalRec.cpp:

#include<iostream> 
#include<string> 
#include<math.h> 

#include "Date.h" //contains prototypes for Date class 
#include "PersonalRec.h" 

extern Date currentDate; 

PersonalRec::PersonalRec() 
{ 
} 

PersonalRec::PersonalRec(string fName, string lName, Date bDate) //This line shows the second error 
{ 
    FirstName = fName; 
    LastName = lName; 
    DoB = bDate; 
    displayPersonalRec(); 
} 

//Implementations of protected methods follow 

的編譯器錯誤讀取

PersonalRec.h: error: expected ')' before 'fName'

PersonalRec.cpp: error: expected constructor, destructor, or type conversion before '(' token

我它們是相關的感覺。

編輯 - 第一誤差可以通過串作序FNAME成的std :: string FNAME與同爲L-NAME是固定的。該行的修改代碼是

PersonalRec (std::string fName, std::string lName, Date bDate); 

編輯2 - 我做了第二個錯誤和代碼編譯相同的事情。

回答

1

我的猜測是,你需要

#include <string> 

在您的.h文件,你需要前綴字符串的std :: string那裏。

+0

我給它一個鏡頭。 編輯 - 它擺脫了第一個錯誤,但第二個仍然存在。 – user3461899

相關問題