2012-04-26 70 views
0

我試圖定義字符串在Visual C++ 2005這樣的載體:Visual Studio的C++的typedef向量誤差

void main() 
{  
    typedef vector<std::string> temp; 

但是,我得到一個錯誤:

error C4430: missing type specifier - int assumed 

我已經包括string.h

可能是什麼原因? 我做錯了什麼?

+1

你也包括矢量嗎?你爲什麼使用'std ::'作爲'string'而不使用'vector'?我也期待'std :: vector'。 – 2012-04-26 06:10:55

+0

我已包括向量。 我已經聲明使用命名空間標準。所以,不管我使用std ::還是不行。 – tumchaaditya 2012-04-26 06:26:21

+0

如果你使用命名空間標準,你必須說'typedef vector temp;'或者說'typedef vector <:: std :: string> temp;',因爲在命名空間std中也可以有一個子命名空間名稱爲'std'。 – 2012-04-26 06:36:54

回答

2

如果你是using namespace std;你必須說typedef vector<string> temp;或說typedef vector<::std::string> temp;,因爲在命名空間std中還可以有名稱爲std的子命名空間。