>  기사  >  백엔드 개발  >  C++ 오류: 함수 매개변수 수가 일치하지 않습니다. 어떻게 수정해야 합니까?

C++ 오류: 함수 매개변수 수가 일치하지 않습니다. 어떻게 수정해야 합니까?

王林
王林원래의
2023-08-22 11:13:041816검색

C++ 오류: 함수 매개변수 수가 일치하지 않습니다. 어떻게 수정해야 합니까?

C++ 오류: 함수 매개변수 개수가 일치하지 않습니다. 어떻게 수정해야 하나요?

C++로 프로그래밍할 때 가끔 오류 메시지가 나타날 수 있습니다. 가장 일반적인 오류 중 하나는 "함수 매개변수 수가 일치하지 않습니다"입니다. 이 오류 메시지는 매우 명확합니다. 즉, 함수 호출 중에 함수에 전달된 매개변수 수가 함수 정의에 지정된 매개변수 수와 일치하지 않아 컴파일러가 프로그램 논리를 올바르게 식별할 수 없게 되어 결과적으로 발생합니다. 오류가 발생했습니다.

이 오류 메시지가 나타나는 이유는 함수의 정의와 선언이 일치하지 않거나 함수의 실제 매개변수 개수가 올바르지 않은 등 여러 가지가 있습니다. 그러나 어떤 이유로 오류가 발생하더라도 간단한 수정을 통해 문제를 해결할 수 있습니다. 다음으로 "함수 매개변수 개수가 일치하지 않습니다." 오류를 해결하는 방법에 대해 논의해 보겠습니다.

  1. 함수 정의와 선언이 일치하지 않습니다

C++에서는 함수의 선언과 정의가 매우 중요한 요소입니다. 함수 선언은 컴파일러에게 함수의 이름, 반환 유형, 매개변수 목록 및 기타 정보를 알려주는 데 사용되는 반면, 함수 정의는 함수를 구현하는 특정 코드입니다. 실제 프로그래밍 과정에서 우리는 일반적으로 헤더 파일에 함수 선언을 배치하고 소스 파일에 함수 정의를 배치합니다. 하지만, 헤더 파일에 함수를 선언하고 소스 파일에 함수를 정의할 때 매개변수 개수가 일치하지 않으면 "함수 매개변수 개수가 일치하지 않습니다."라는 오류 메시지가 발생합니다.

예를 들어 헤더 파일 myfunction.h에 함수를 선언합니다.

int myFunction(int a, int b, int c);

그런 다음 소스 파일 myfunction.cpp에 함수를 정의하면 두 개의 매개변수만 정의됩니다.

int myFunction(int a, int b)
{
    return a + b;
}

이 경우 컴파일러는 다음을 수행합니다. "함수 매개변수 개수가 일치하지 않습니다"라는 오류가 발생합니다. 이 문제를 해결하려면 함수 정의가 선언과 일치하는지 확인하면 됩니다. 정의에 있는 매개변수를 완성하세요.

int myFunction(int a, int b, int c)
{
    return a + b + c;
}
  1. 함수의 실제 매개변수 수가 잘못되었습니다

"함수 매개변수 수 불일치" 오류의 또 다른 일반적인 이유는 함수 호출 중에 함수에 전달된 매개변수가 올바르지 않습니다. 매개변수의 실제 개수가 올바르지 않습니다. 예를 들어 myFunction() 함수를 호출할 때

int result = myFunction(1, 2);

두 개의 매개변수만 전달합니다. 그러나 myFunction() 정의에서는 세 개의 매개변수가 필요합니다. 이로 인해 컴파일러는 실제 매개변수가 충분히 전달되지 않았다고 생각하게 되어 "함수 매개변수 수가 일치하지 않습니다"라는 오류가 발생합니다.

이 문제를 해결하려면 함수를 호출할 때 필요한 매개변수를 함수에 전달하기만 하면 됩니다. 전달된 매개변수의 수를 완성하세요.

int result = myFunction(1, 2, 3);

요약:

C++ 프로그래밍에서는 "함수 매개변수의 수가 일치하지 않습니다"와 같은 오류가 발생하는 것이 매우 일반적입니다. 이 문제에 대한 해결책은 함수 선언이 정의와 일치하는지 또는 함수에 전달된 실제 인수 수가 올바른지 확인하는 것만큼 간단합니다. 이 기사가 독자들이 "함수 매개변수 수 불일치" 오류 문제를 더 잘 이해하고 해결하는 데 도움이 되기를 바랍니다.

위 내용은 C++ 오류: 함수 매개변수 수가 일치하지 않습니다. 어떻게 수정해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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