2013-04-21 47 views
0

我想創建一個使用字符串庫的C++類。下面是我的源代碼:在類中使用字符串C++輸出錯誤

test.h:

#include <string> 


class info { 
public: 
    // constructor 
    info (string first_name, string last_name, int age); 
    // deconstructor 
    ~info(); 



private: 
    string first_name; 
    string last_name; 
    int age; 

}; 

,這裏是我的頭文件幫助:TEST.CPP

#include <string> 
#include "test.h" 


info::info (string first_name, string last_name, int age) { 
    this->first_name = first_name; 
    this->last_name = last_name; 
    this->age = age; 

} 
info::~info() { 
} 

但是它給了我語法錯誤:標識符「字符串「未定義

這是爲什麼?我還挺noobie到C++數據結構

此外,我編譯這是的Visual Studio 2012

+3

只需使用完全合格的名稱,'的std :: string'無處不在,你使用'string'。 – 2013-04-21 12:38:33

回答

3

您需要string之前有std::如您使用的是限定名(在命名空間std的標識符)。

例如,您構造應該是這樣的:

info (std::string const& first_name, std::string const& last_name, int age); 
+0

我不會推薦在頭文件中使用'using' – RiaD 2013-04-21 12:37:43

+1

由於在包含頭文件的所有文件中公開了類型,因此在頭文件中使用-statements是不好的。 – dutt 2013-04-21 12:38:04

+0

我糾正了這個問題。我正在使用而不是,但我仍然遇到錯誤,但我會嘗試。 – 2013-04-21 12:38:08