2012-08-06 85 views
0

內聲明什麼類的實例矢量我不能老是有以下情況處理:如何使用命名空間

class someName 
{ public: 
vector<compound_objectNS::Compound_object*> loadObjectsFromFile(char* fileName); 
} 

namespace compound_objectNS 
{ class Compound_object {here goes it`s defenition}. 
} 

我從ISENSE出現錯誤:「載體不是模板」 什麼我做錯了? 請幫助我!提前致謝。

+3

這樣的基本問題(失蹤前向聲明,丟失包含文件,缺少的命名空間選擇,使用char *代替的std :: string,缺少分號類聲明後,缺少包括後衛)我真誠地建議得到[一個很好的C++的書] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list),我的意思是說實話,它會爲你在前進道路上節省很多。 – 2012-08-06 15:52:14

+0

是的,謝謝你的建議,但我沒有留意,並忘記使用std。由於我的工作日快結束了,有時候愚蠢的錯誤會上升,但是再次提示建議)) – 2012-08-06 15:57:26

回答

1

在使用std::vector<>之前,您需要使用#include <vector>

+0

謝謝!我忽略了std:這就是isense報錯的原因。 20分鐘後我會接受你的回答。 – 2012-08-06 15:54:21

+0

@spin_eight:如果這是您唯一的問題,我強烈建議複製+粘貼相關代碼,而不是錯誤地抄寫;) – 2012-08-06 15:57:45

0

如果您沒有寫using namespace std;或其他類似的using指令,您應該寫std::vector。或者,也許你只是在文件的開頭忘了#include <vector>

此外,您必須在聲明vector(無論是完整定義還是前向聲明)之前提供compound_objectNS的聲明。