#include <stdio.h> // C
int test() { }
int testVoid(void) { }
int main(int argc, char **argv)
{
int aa;
test(); // 당연히 문제가 발생하지 않습니다.
test(aa); // 인자가 ()이지만 문제가 발생하지 않습니다.
testVoid(); // 문제가 발생하지 않습니다.
testVoid(aa); // 인자가 (void)이면 문제가 발생합니다.
return 0;
}
int main()은 인자로 무엇이든지 받을 수 있는 함수로 해석하지만
int main(void)는 인자로 아무것도 받을 수 없는 함수로 해석합니다.
#include <iostream> // C++
int test() { }
int testVoid(void) { }
int main(int argc, char **argv)
{
int aa;
test(); // 문제가 발생하지 않습니다.
test(aa); // 문제가 발생합니다!
testVoid(); // 문제가 발생하지 않습니다.
testVoid(aa); // 문제가 발생합니다!
return 0;
}