2008-12-12 45 views
40

我有一個調用的函數:變量或字段宣佈無效

void initializeJSP(string Experiment) 

在我MyJSP.h文件我有:

2: void initializeJSP(string Experiment); 

而且我編譯時出現此錯誤:

MyJSP.h:2 error: variable or field initializeJSP declared void

問題在哪裏?

+1

編譯器在報告錯誤時指向哪行代碼?你在用什麼語言?有關該功能的其他代碼是什麼?請提供更多信息。 – 2008-12-12 21:34:20

回答

60

它例如發生在這種情況下,此處使用的std::string而不是僅僅string

void initializeJSP(unknownType Experiment); 

嘗試(幷包括<string>頭)。 C++標準庫類位於命名空間std::內。

26

這實際上並不是一個問題,函數是「void」,但是函數參數存在問題。我認爲這只是g ++提供無用的錯誤信息。

+4

雖然函數參數有什麼問題? (我知道接受的答案解釋它,我只是沒有發現這個特別有用的答案)。 – Dukeling 2015-08-17 13:01:16

-1

的事情是,當你調用一個函數,你不應該寫的函數的類型,這意味着你應該叫funnction就像

initializeJSP(串實驗);

+1

你的例子是錯誤的,你不能用類型作爲參數調用函數,而問題是關於別的。 – Logman 2017-05-13 23:43:25