프로그래밍언어/C언어[Error]

[C언어][Error] 037. too few arguments to function – 함수 인자 수가 부족함

about_IT 2025. 4. 27. 17:03
728x90

이 오류는 함수 호출 시 요구되는 매개변수보다 적은 수의 인자를 전달했을 때 발생합니다. C언어에서는 함수가 정의된 매개변수의 수만큼 인자를 모두 전달해야 하며, 일부라도 누락될 경우 컴파일러는 오류를 발생시킵니다.


특히 함수 선언과 정의를 참조하지 않고 함수를 호출하거나, 인자의 수를 잘못 이해한 경우에 자주 나타납니다.



● 오류 예제

#include <stdio.h>

void print_sum(int a, int b) {
    printf("합계: %d\n", a + b);
}

int main() {
    print_sum(5);  // 오류: 인자 1개 부족
    return 0;
}

컴파일러는 다음과 같은 오류를 출력합니다.

error: too few arguments to function ‘print_sum’


● 해결 방법

함수를 호출할 때는 정의된 매개변수 개수에 맞춰 정확한 수의 인자를 전달해야 합니다.

#include <stdio.h>

void print_sum(int a, int b) {
    printf("합계: %d\n", a + b);
}

int main() {
    print_sum(5, 10);  // 올바른 호출
    return 0;
}

출력 결과:

합계: 15


● 실전 팁

  • 함수 호출 시 인자 수와 타입을 함수 선언과 정확히 일치시켜야 합니다.
  • 인자 누락이 자주 발생한다면, 함수 사용 시 헤더 파일 또는 선언부를 먼저 확인하는 습관을 들이세요.
  • 함수 프로토타입이 없는 상태에서는 인자 개수 체크가 제대로 이루어지지 않을 수 있으니, 항상 선언을 함께 작성하는 것이 안전합니다.

인자의 개수가 부족한 함수 호출은 프로그램의 실행에 치명적인 오류를 유발할 수 있으므로, 함수 호출부와 선언부를 일관되게 유지하는 것이 중요합니다.

728x90