這行代碼有什麼問題?C++:語法錯誤C2061:意外的標識符
bar foo(vector ftw);
它產生
error C2061: syntax error: identifier 'vector'
這行代碼有什麼問題?C++:語法錯誤C2061:意外的標識符
bar foo(vector ftw);
它產生
error C2061: syntax error: identifier 'vector'
嘗試的std ::向量來代替。此外,請確保您
#include <vector>
也許你忘了,包括向量和/或導入到std::vector
的命名空間。
請確保您有:
#include <vector>
然後加:
using std::vector;
或只使用:
bar foo(std::vector<odp> ftw);
嘗試std::vector<odp>
或using std;
你有:
#include <vector>
和
using namespace std;
在你的代碼?
<vector>
定義了std::vector
類,所以您需要將它包含在文件的某個位置。
由於您使用vector
,你需要指導,你要導入整個std
命名空間(可以說這是不是你想要做的事)編譯器,通過using namespace std;
否則矢量應定義爲std::vector<myclass>
本身,該片段代碼沒有定義bar
,vector
或odp
。至於爲什麼你沒有收到關於bar
定義的錯誤,我只能假設你已經將它與上下文置之不理。
我認爲它應該定義foo
作爲一個功能,即vector
名稱的模板,它應該定義一個名爲ftw
參數,但在聲明中任何沒有真正被定義需求,此前已宣佈以便編譯器知道所有其他標識符的含義。
例如,如果定義如下的新類型,你得到一個片段,將編譯:
struct bar {};
struct odp {};
template<class T> struct vector {};
bar foo(vector<odp> ftw);
該死的,一秒打我;-) – 2010-06-11 22:06:51