>  기사  >  백엔드 개발  >  C++ 구문 오류를 해결하는 방법: '',' 토큰' 앞에 초기화 프로그램이 필요합니까?

C++ 구문 오류를 해결하는 방법: '',' 토큰' 앞에 초기화 프로그램이 필요합니까?

WBOY
WBOY원래의
2023-08-26 21:24:441081검색

如何解决C++语法错误:'expected initializer before ',' token'?

C++ 구문 오류를 해결하는 방법: '',' 토큰' 앞에 초기화 프로그램이 필요합니까?

우리는 C++ 프로그래밍에서 다양한 오류 메시지를 자주 접하는데, 일반적인 오류 중 하나는 '',' 토큰 앞에 초기화가 필요합니다'입니다. 이 오류는 코드 줄 어딘가에 컴파일러가 초기화 기호를 예상했지만 실제로는 쉼표가 있음을 나타냅니다. 이 오류는 변수 선언, 함수 매개변수 전달, 배열 초기화 등에서 발생할 수 있습니다. 이 문서에서는 몇 가지 일반적인 상황을 소개하고 해당 솔루션을 제공합니다.

  1. 변수 선언 시 쉼표가 나타납니다.
    C++에서는 여러 변수를 쉼표로 구분하여 한 줄에 선언할 수 있습니다. 예:

    int a, b, c;

    변수 선언 시 쉼표가 표시되고 변수가 올바르게 초기화되지 않은 경우 이 오류가 발생합니다. 예:

    int a, b, ;

해결 방법: 쉼표 뒤의 내용을 해당 초기화 값으로 설정하거나 변수를 삭제하세요. 예:

int a, b = 0;

또는:

int a, b;
  1. 함수 매개변수 전달 시 쉼표:
    함수를 정의하거나 선언할 때 매개변수 유형을 올바르게 선언하지 않고 매개변수 목록에 쉼표가 나타나면 이 오류가 발생합니다. 예:

    void foo(int a, , int c) {
     // code
    }

해결 방법: 쉼표를 삭제하거나 해당 매개변수 유형을 설정하세요. 예:

void foo(int a, int c) {
    // code
}

또는

void foo(int a, char, int c) {
    // code
}
  1. 배열 초기화 중에 쉼표가 나타납니다.
    C++에서는 초기화 목록을 사용하여 배열을 초기화할 수 있습니다. 그러나 초기화 목록에 쉼표가 나타나고 배열 요소가 올바르게 초기화되지 않으면 이 오류가 발생합니다. 예:

    int arr[] = {1, , 3, 4, 5};

해결 방법: 쉼표를 제거하거나 해당 배열 요소 값을 설정하세요. 예:

int arr[] = {1, 2, 3, 4, 5};

또는:

int arr[] = {1, 0, 3, 4, 5};
  1. 기타 경우:
    위 예의 경우 외에도 문법 오류가 있는 경우가 있을 수 있습니다. 예를 들어, 모든 매개변수가 올바르게 전달되지 않은 채 함수 호출에서 매개변수를 전달할 때 쉼표가 나타납니다.

    foo(1, , 3);

    또는 조건문에 구문 오류가 나타날 수 있습니다.

    if (x < , y) {
     // code
    }

해결 방법: 코드를 확인하여 각 쉼표가 있는지 확인하세요. 사용법이 올바른지 확인하거나 추가 쉼표를 삭제하세요.

요약:
C++ 프로그래밍에서 '',' 토큰 이전에 예상되는 초기화 프로그램' 오류가 발생하면 먼저 코드를 주의 깊게 확인하여 오류가 발생한 위치를 찾아야 합니다. 그런 다음 오류의 특정 상황에 따라 추가 쉼표를 삭제하거나 해당 초기화 값을 설정하는 등 적절한 해결 방법을 취하십시오. 컴파일러의 오류 메시지를 주의 깊게 읽고 코드와 함께 문제를 해결하는 것이 중요합니다. 단계별 분석과 수정을 통해 이러한 오류는 궁극적으로 해결될 수 있으며 코드의 품질과 가독성도 향상될 수 있습니다.

위 내용은 C++ 구문 오류를 해결하는 방법: '',' 토큰' 앞에 초기화 프로그램이 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.