> 백엔드 개발 > C++ > 본문

C++ 구문 오류를 해결하는 방법: '<' 토큰 앞에 정규화되지 않은 ID가 필요합니까?

王林
풀어 주다: 2023-08-26 22:46:52
원래의
7086명이 탐색했습니다.

如何解决C++语法错误:'expected unqualified-id before '<' token'?

C++ 구문 오류를 해결하는 방법: '<' 앞에 정규화되지 않은 ID가 필요합니까?

C++를 개발하다 보면 다양한 오류에 자주 부딪히게 됩니다. 일반적인 오류 중 하나는 ''<' 앞에 정규화되지 않은 ID가 필요하다는 것입니다. 이 오류는 일반적으로 식별자가 어딘가에 누락되었지만 컴파일러가 '<' 기호를 찾았음을 의미합니다. 이 오류는 템플릿이나 일반 프로그래밍을 사용할 때 흔히 발생합니다.

이 문서에서는 이 구문 오류를 식별하고 수정하는 방법에 대해 논의하고 일반적인 오류의 몇 가지 예를 제공합니다.

1. 오류의 원인

일반적으로 '<' 토큰 이전에 예상되는 비정규 ID' 오류는 두 가지 일반적인 문제로 인해 발생합니다.

  1. 템플릿 매개변수 누락
    템플릿 프로그래밍을 사용할 때 템플릿 적절한 매개변수를 입력합니다. 이 오류는 템플릿에 매개변수가 전달되지 않거나 잘못된 매개변수가 전달된 경우 발생합니다.
  2. 세미콜론 누락
    경우에 따라 명령문 끝에 세미콜론을 추가하지 않으면 이 오류가 발생합니다.

2. 오류 예 및 해결 방법

  1. 예 1: 템플릿 매개변수 누락
template<class T>
class MyClass {
public:
    T value;
};
  
int main() {
    MyClass<int> obj;  // 正确用法:给模板传入适当的参数
    MyClass obj2;  // 错误用法:未给模板传入参数
    obj.value = 10;
    return 0;
}
로그인 후 복사

위 예에서는 MyClass 클래스를 정의할 때 템플릿 매개변수<클래스 T>. obj 개체를 생성할 때 적절한 매개변수 <int>를 템플릿에 성공적으로 전달했습니다. 그러나 obj2 개체를 생성할 때 매개변수를 템플릿에 전달하지 않았습니다. 이 경우 컴파일러는 오류를 보고하고 '<' 토큰 앞에는 정규화되지 않은 ID가 필요하다는 메시지를 표시합니다. 이 오류를 해결하려면 <int>와 같은 적절한 템플릿 매개변수를 obj2 개체에 전달하기만 하면 됩니다. MyClass类时,需要给它传入一个模板参数<class T>。在创建对象obj时,我们成功地给模板传入了一个适当的参数<int>。但是在创建对象obj2时,我们未给模板传入参数。这样一来,编译器就会报错并提示'expected unqualified-id before '<' token'。解决这个错误,我们只需给obj2对象传入一个合适的模板参数,如<int>

示例一解决方法:

MyClass<int> obj2;  // 给模板传入适当的参数
로그인 후 복사
  1. 示例二:缺少分号
#include <iostream>
  
int main() {
    std::cout << "Hello World" << std::endl
    return 0;
}
로그인 후 복사

在上述示例中,在输出语句std::cout << "Hello World" << std::endl

예제 1 해결 방법:

std::cout << "Hello World" << std::endl;  // 添加分号
로그인 후 복사
    예제 2: 세미콜론 누락

    rrreee

    위 예의 출력 문 std::cout << << std::endl 뒤에는 세미콜론이 없습니다. 이러한 방식으로 컴파일러는 '<' 토큰 앞에 예상된 비정규화된 ID' 오류를 표시합니다. 이 오류를 해결하려면 명령문 끝에 세미콜론을 추가하기만 하면 됩니다.

    🎜예제 2 해결 방법: 🎜rrreee🎜3. 요약🎜🎜C++ 개발에서 '<' 토큰 앞에 예상되는 정규화되지 않은 ID' 오류는 일반적인 구문 오류입니다. 일반적으로 템플릿 매개변수 누락이나 세미콜론 누락으로 인해 발생합니다. 코드를 주의 깊게 확인하고 문제가 있는 곳에 적절한 매개변수나 세미콜론을 추가하면 이 오류를 성공적으로 해결할 수 있습니다. 🎜

위 내용은 C++ 구문 오류를 해결하는 방법: '<' 토큰 앞에 정규화되지 않은 ID가 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!