2010-06-11 1531 views

回答

5

嘗試的std ::向量來代替。此外,請確保您

#include <vector> 
4

也許你忘了,包括向量和/或導入到std::vector的命名空間。

請確保您有:

#include <vector> 

然後加:

using std::vector; 

或只使用:

bar foo(std::vector<odp> ftw); 
+0

該死的,一秒打我;-) – 2010-06-11 22:06:51

0

你有:

#include <vector>

using namespace std;在你的代碼?

<vector>定義了std::vector類,所以您需要將它包含在文件的某個位置。

由於您使用vector,你需要指導,你要導入整個std命名空間(可以說這是不是你想要做的事)編譯器,通過using namespace std;

否則矢量應定義爲std::vector<myclass>

0

本身,該片段代碼沒有定義barvectorodp。至於爲什麼你沒有收到關於bar定義的錯誤,我只能假設你已經將它與上下文置之不理。

我認爲它應該定義foo作爲一個功能,即vector名稱的模板,它應該定義一個名爲ftw參數,但在聲明中任何沒有真正被定義需求,此前已宣佈以便編譯器知道所有其他標識符的含義。

例如,如果定義如下的新類型,你得到一個片段,將編譯:

struct bar {}; 
struct odp {}; 
template<class T> struct vector {}; 

bar foo(vector<odp> ftw); 
相關問題