본문 바로가기
프로그래밍언어/C언어[Error]

[C언어][Error] 088. ‘main’ takes only zero or two arguments – main 함수 인자 수 오류

by about_IT 2025. 5. 4.
728x90

이 오류는 C언어의 main 함수가 정의될 때, 허용된 인자 수를 초과하거나 부족하게 정의되었을 경우 발생합니다. main 함수는 표준적으로 인자를 받지 않거나, 두 개의 인자(int argc, char *argv[])를 받아야 하며, 그 외의 형식은 컴파일 오류를 유발합니다.


표준 C에서는 다음 두 가지 형식만을 main 함수의 선언으로 허용합니다.

  • int main(void)
  • int main(int argc, char *argv[])


● 오류 예제

int main(int x) {  // 오류: 인자 수가 1개
    return 0;
}

컴파일 시 다음과 같은 오류 메시지가 출력될 수 있습니다.

error: ‘main’ takes only zero or two arguments


● 해결 방법

main 함수의 정의는 반드시 표준 형태로 작성해야 하며, 필요에 따라 인자가 없는 형태 또는 인자 두 개를 받는 형태로 선택해야 합니다.

// 인자 없이 정의
int main(void) {
    return 0;
}

// 또는 인자 2개 받는 표준 형태
int main(int argc, char *argv[]) {
    return 0;
}


● 실전 팁

  • main 함수는 반드시 인자 없이, 또는 인자 2개로 정의되어야 합니다.
  • 세 번째 인자인 envp[]는 일부 시스템에서 허용되지만 표준이 아닙니다.
  • 코딩 시 main 함수의 선언은 항상 정확하게 지켜야 하며, 반환형도 int여야 합니다.

main 함수는 프로그램의 시작점이므로 그 형태가 엄격하게 정의되어 있으며, 컴파일러가 정확히 인식할 수 있도록 표준에 맞는 선언을 지키는 것이 중요합니다.

728x90