如何解決C 語法錯誤:'expected primary-expression before '.' token'?
在用C 寫程式時,我們有時會遇到各種各樣的語法錯誤。其中一個常見的錯誤是'expected primary-expression before '.' token'。當我們在程式碼中使用了不正確的語法來存取類別的成員時,編譯器就會報這個錯誤。
這個錯誤通常是由於以下幾種原因引起的:
以下是一些範例程式碼,用來說明如何解決這個錯誤:
範例1:
#include <iostream> using namespace std; int main() { int length = 10; cout.length; // 错误:应该使用点运算符来访问一个类对象的成员 return 0; }
修復方式:將cout.length修改為cout< 範例2: 修復方式:將myObject.printHello()修改為myObject->printHello()。 範例3: 修正方式:將MyObject.printHello()修改為myObject.printHello()。 透過上述修復方式,我們可以解決'expected primary-expression before '.' token'這個錯誤。需要注意的是,解決這個錯誤是要根據特定的程式碼情況進行修復,確保使用正確的語法來存取類別的成員。同時,在編寫程式碼時,我們也要仔細檢查和審查程式碼,避免這類常見的語法錯誤,以提高程式的品質和穩定性。 總結起來,'expected primary-expression before '.' token'錯誤是由於在對類別的成員進行存取時使用了錯誤的語法引起的。透過正確使用點運算符和箭頭運算符,聲明和定義類別對象,我們可以輕鬆解決這個錯誤。當我們遇到這類錯誤時,可以根據具體情況仔細檢查程式碼並進行修復,以確保程式的正常運作。 以上是如何解決C++語法錯誤:'expected primary-expression before '.' token'?的詳細內容。更多資訊請關注PHP中文網其他相關文章!#include <iostream>
using namespace std;
class MyClass {
public:
void printHello() {
cout<<"Hello"<<endl;
}
};
int main() {
MyClass* myObject;
myObject.printHello(); // 错误:应该使用箭头运算符来访问指针对象的成员
return 0;
}
#include <iostream>
using namespace std;
class MyClass {
public:
void printHello() {
cout<<"Hello"<<endl;
}
};
int main() {
MyClass myObject;
MyObject.printHello(); // 错误:使用了未定义的对象
return 0;
}