Wie behebt man den C++-Syntaxfehler: „unqualifizierte ID vor „<“ erwartet“?
Bei der Entwicklung von C++ stoßen wir häufig auf verschiedene Fehler. Einer der häufigsten Fehler ist „unqualifizierte ID vor ‚<‘ erwartet“. Dieser Fehler bedeutet normalerweise, dass irgendwo ein Bezeichner fehlt, der Compiler jedoch das Symbol „<“ gefunden hat. Dieser Fehler tritt häufig bei der Verwendung von Vorlagen oder allgemeiner Programmierung auf.
In diesem Artikel besprechen wir, wie Sie diesen Syntaxfehler identifizieren und beheben können, und geben einige Beispiele für häufige Fehler.
1. Fehlerursache
Normalerweise wird der Fehler „Erwartete unqualifizierte ID vor „<““ durch zwei häufige Probleme verursacht:
2. Fehlerbeispiele und Lösungen
template<class T> class MyClass { public: T value; }; int main() { MyClass<int> obj; // 正确用法:给模板传入适当的参数 MyClass obj2; // 错误用法:未给模板传入参数 obj.value = 10; return 0; }
Im obigen Beispiel müssen Sie bei der Definition der Klasse MyClass
einen Vorlagenparameter<Klasse T>
. Beim Erstellen des Objekts obj
haben wir erfolgreich einen entsprechenden Parameter <int>
an die Vorlage übergeben. Beim Erstellen des Objekts obj2
haben wir jedoch keine Parameter an die Vorlage übergeben. In diesem Fall meldet der Compiler einen Fehler und fordert „unqualifizierte ID vor „<“ erwartet“. Um diesen Fehler zu beheben, müssen wir lediglich einen geeigneten Vorlagenparameter an das Objekt obj2
übergeben, beispielsweise <int>
. MyClass
类时,需要给它传入一个模板参数<class T>
。在创建对象obj
时,我们成功地给模板传入了一个适当的参数<int>
。但是在创建对象obj2
时,我们未给模板传入参数。这样一来,编译器就会报错并提示'expected unqualified-id before '<' token'。解决这个错误,我们只需给obj2
对象传入一个合适的模板参数,如<int>
。
示例一解决方法:
MyClass<int> obj2; // 给模板传入适当的参数
#include <iostream> int main() { std::cout << "Hello World" << std::endl return 0; }
在上述示例中,在输出语句std::cout << "Hello World" << std::endl
std::cout << "Hello World" << std::endl; // 添加分号
Im obigen Beispiel wird in der Ausgabeanweisung std::cout << " Nach << std::endl
steht kein Semikolon. Auf diese Weise wird der Compiler den Fehler „erwartete unqualifizierte ID vor „<““ auslösen. Um diesen Fehler zu beheben, fügen wir einfach ein Semikolon am Ende der Anweisung hinzu.
Das obige ist der detaillierte Inhalt vonWie behebt man den C++-Syntaxfehler: „unqualifizierte ID vor ‚<'-Token erwartet'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!