最近用C++寫代碼,GCC編譯。
靜態檢測沒有錯誤,執行時GCC報錯如下:
{
"resource": "/c:/Users/fuck/Documents/CLanguage/c:/Users/fuck/Documents/CLanguage/test.cpp",
"owner": "cpptools",
"severity": 8,
"message": "invalid use of member 'char node::getData()' (did you forget the '&' ?)",
"source": "gcc",
"startLineNumber": 27,
"startColumn": 18,
"endLineNumber": 27,
"endColumn": 18
}
檢查了一下,發現是如下代碼有問題:
while (head!=NULL)
{
if(head->getData()==target) return target;
target+=1;
head = head->getNext; //這裏!!!!!!!!!!!
}
head是一個指向對象的指針。
我本來是想調用該對象的getNext函數。
結果竟然忘了寫括號。。。。。。
將getNext改爲getNext()就通過了。
-----------<< endl---------