Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

int main()과 int main(void)의 C/C++ 차이점

<시간/>

C 프로그래밍 언어에서 함수 서명에 매개변수가 없으면 여러 인수를 입력으로 사용할 수 있지만 C++에서는 그렇지 않습니다. C++에서 이러한 함수에 인수가 전달되면 컴파일이 실패합니다. 이것이 int main() 및 int main(void)이 C에서 동일한 이유이지만 int main(void)이 더 나은 접근 방식이므로 사용자가 main 함수에 여러 인수를 전달하도록 제한합니다.

예(C)

#include <stdio.h>
int main() {
   static int counter = 3;
   if (--counter){
      printf("%d ", counter);
      main(5);
   }
}

출력

2 1

예시(C++)

#include <iostream>
using namespace std;
int main() {
   static int counter = 3;
   if (--counter){
      cout << counter;
      main(5);
   }
}

출력

main.cpp: In function 'int main()':
main.cpp:10:13: error: too many arguments to function 'int main()'
main(5);
^
main.cpp:5:5: note: declared here
int main()
^~~~