ㄷ
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() ^~~~