>백엔드 개발 >C++ >C++ 컴파일 오류: 매개변수 개수가 잘못되었습니다. 어떻게 수정하나요?

C++ 컴파일 오류: 매개변수 개수가 잘못되었습니다. 어떻게 수정하나요?

WBOY
WBOY원래의
2023-08-22 09:31:461461검색

C++ 컴파일 오류: 매개변수 개수가 잘못되었습니다. 어떻게 수정하나요?

C++ 프로그램을 작성할 때 다양한 컴파일 오류가 자주 발생합니다. 흔한 실수 중 하나는 잘못된 매개변수 개수입니다. 함수를 작성할 때 함수의 매개변수 개수와 유형이 함수 호출 시 제공된 매개변수와 일치하지 않으면 컴파일 오류가 발생합니다. C++에서 컴파일러는 컴파일 타임에 함수 매개변수의 수와 유형을 확인하므로 컴파일 오류를 방지하려면 함수 매개변수가 일치하는지 확인해야 합니다.

그래서 C++ 컴파일 오류(매개변수 개수가 잘못됨)가 발생하면 어떻게 수정해야 할까요? 가능한 해결 방법은 다음과 같습니다.

1. 함수의 인수 목록을 확인하세요.

먼저 함수의 인수 목록을 확인하여 함수가 호출될 때 제공된 인수의 수 및 유형과 일치하는지 확인해야 합니다. 불일치가 발견되면 함수 호출 시 제공된 매개변수와 일치하도록 함수의 매개변수 목록을 즉시 수정해야 합니다.

예를 들어, 두 숫자의 합을 계산하는 함수를 작성할 때 매개변수 개수에 오류가 발생했다고 가정해 보겠습니다.

int add(int a, int b)
{
    return a + b;
}
int main()
{
    int result = add(1, 2, 3);
    return 0;
}

함수가 add(1, 2, 3)를 호출할 때 세 개의 매개변수가 제공되며, 함수의 매개변수 목록에는 매개변수가 두 개만 있으므로 컴파일러는 매개변수 개수가 잘못되었다고 불평합니다. 이 오류를 수정하려면 함수가 호출될 때 제공된 매개변수 수와 일치하도록 add 함수의 매개변수 목록을 수정해야 합니다.

int add(int a, int b, int c)
{
    return a + b + c;
}
int main()
{
    int result = add(1, 2, 3);
    return 0;
}

이제 함수의 매개변수 수가 호출될 때 제공된 매개변수 수와 일치합니다. 함수가 호출되고 컴파일러는 오류를 다시 보고하지 않습니다.

2. 기본 매개변수 사용

잘못된 매개변수 수를 해결하는 또 다른 방법은 기본 매개변수를 사용하는 것입니다. 함수가 정의될 ​​때 기본 매개변수가 지정됩니다. 함수가 호출될 때 일부 매개변수가 생략되면 컴파일러는 이러한 매개변수를 기본값으로 채웁니다.

예를 들어 위의 add 함수 매개변수 목록을 다음과 같이 수정할 수 있습니다.

int add(int a, int b, int c = 0)
{
    return a + b + c;
}
int main()
{
    int result = add(1, 2);
    return 0;
}

이 예에서는 함수 매개변수 목록의 변수 c에 대해 기본값 0을 설정합니다. 즉, 두 개의 매개변수만 사용하여 함수를 호출하면 컴파일러는 세 번째 매개변수 c를 기본값으로 채웁니다. 이 예에서 함수 호출 add(1, 2)는 세 번째 매개변수를 0으로 설정하여 결과 1+2+0=3을 계산합니다.

3. 함수 오버로딩

잘못된 매개변수 수를 해결하는 또 다른 방법은 함수 오버로딩을 사용하는 것입니다. 함수 오버로딩은 동일한 범위에서 이름은 같지만 매개변수 목록이 다른 여러 함수를 선언하는 것을 의미합니다. 동일한 이름으로 이러한 함수를 호출하면 컴파일러는 함수 호출 시 제공된 매개변수의 유형과 개수를 기반으로 해당 함수를 자동으로 일치시킵니다.

예를 들어 위의 add 함수를 두 가지 버전으로 수정할 수 있습니다.

int add(int a, int b)
{
    return a + b;
}
int add(int a, int b, int c)
{
    return a + b + c;
}
int main()
{
    int result1 = add(1, 2);
    int result2 = add(1, 2, 3);
    return 0;
}

이 예에서는 이름은 같지만 매개변수 목록이 다른 두 개의 함수 add를 정의합니다. add 함수를 호출하면 컴파일러는 제공된 매개변수의 수와 유형을 기반으로 해당 함수를 자동으로 일치시킵니다. 예를 들어, add(1, 2)를 호출하면 컴파일러는 매개변수 목록이 (int, int)인 함수 버전을 자동으로 선택하고, add(1, 2, 3)를 호출하면 컴파일러는 자동으로 함수를 선택합니다. 매개변수 목록이 있는 버전은 (int, int의 함수 버전, int)입니다.

요약

컴파일 오류는 C++ 개발에서 흔히 발생하는 문제 중 하나이며, 잘못된 매개변수 개수는 가장 일반적인 오류 유형 중 하나입니다. 이 오류가 발생하면 함수의 매개변수 목록과 함수 호출 시 제공된 매개변수를 확인하여 해당 매개변수의 수와 유형이 일치하는지 확인해야 합니다. 일치하는 항목이 없으면 함수 매개변수 목록을 수정하거나, 기본 매개변수를 사용하거나, 함수를 오버로드하여 문제를 해결할 수 있습니다.

위 내용은 C++ 컴파일 오류: 매개변수 개수가 잘못되었습니다. 어떻게 수정하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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