C++ 컴파일 오류에 대한 해결 방법: ''함수' 호출에 일치하는 함수가 없습니다. 어떻게 해결합니까?
C++로 프로그램을 작성할 때 다양한 컴파일 오류가 자주 발생합니다. 일반적인 오류 중 하나는 "'함수' 호출에 일치하는 함수가 없습니다"입니다. 이 오류는 일반적으로 함수가 호출되고 컴파일러가 일치하는 함수 선언 또는 정의를 찾을 수 없을 때 발생합니다. 이 문서에서는 이 컴파일 오류를 해결하는 방법을 자세히 설명하고 몇 가지 샘플 코드를 제공합니다.
먼저 간단한 예를 살펴보겠습니다.
#include <iostream> void add(int a, int b) { std::cout << "Sum: " << a + b << std::endl; } int main() { add(1, 2, 3); // 调用了错误的函数 return 0; }
위 코드에서는 두 정수의 합을 계산하는 add 함수를 정의합니다. 메인 함수에서 우리는 실수로 add 함수를 호출하고 세 개의 매개변수를 전달했습니다. 세 개의 매개변수를 허용하는 add 함수의 오버로드된 버전을 제공하지 않았기 때문에 컴파일러는 일치하는 함수 선언이나 정의를 찾을 수 없어 컴파일 오류가 발생합니다.
이 문제를 해결하려면 오류 메시지를 보고 잘못된 코드 줄을 찾아야 합니다. 컴파일러는 일반적으로 일치하는 함수 선언이나 정의가 없음 등과 같은 오류 메시지에 오류에 대한 몇 가지 힌트를 제공합니다. 이러한 팁을 바탕으로 오류가 발생한 이유를 파악하고 그에 따라 코드를 수정할 수 있습니다.
이 예에서 컴파일러는 "'add' 호출에 일치하는 함수가 없습니다"라는 오류를 보고합니다. 이 오류 메시지는 우리가 호출한 add 함수가 일치하는 함수 선언이나 정의를 찾지 못했음을 알려줍니다. 이 오류를 수정하려면 함수 호출의 매개변수가 함수에서 정의한 매개변수와 일치하도록 수정해야 합니다.
위 오류를 수정하는 방법은 아래와 같이 함수 호출이 함수 정의와 일치하도록 추가 매개변수를 제거하는 것입니다.
#include <iostream> void add(int a, int b) { std::cout << "Sum: " << a + b << std::endl; } int main() { add(1, 2); return 0; }
수정된 코드에서는 함수 호출이 일치하도록 추가 매개변수 "3"을 제거했습니다. 함수 정의 일치. 이런 식으로 컴파일러는 add라는 함수의 정의를 찾고 프로그램을 성공적으로 컴파일할 수 있습니다.
함수 호출 매개변수 불일치 외에도 "'함수' 호출에 일치하는 함수가 없습니다." 오류가 발생할 수 있는 몇 가지 일반적인 이유가 있습니다. 아래에는 몇 가지 일반적인 상황과 해결 방법이 나와 있습니다.
요약하자면, C++ 컴파일 오류 "'함수' 호출에 일치하는 함수가 없습니다"를 해결하려면 먼저 오류 메시지를 확인하고 오류의 원인을 파악해야 합니다. 그런 다음 오류 메시지에서 제공하는 힌트를 사용하여 함수 호출이 함수 선언 또는 정의와 일치하도록 코드를 수정할 수 있습니다. 호출 함수의 매개변수를 올바르게 수정하면 이 컴파일 오류를 성공적으로 해결할 수 있으므로 프로그램이 성공적으로 컴파일되고 실행될 수 있습니다.
위 내용은 C++ 컴파일 오류 해결 방법: ''함수' 호출에 일치하는 함수가 없습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!