(저는 Visual C++ 2008을 사용하고 있습니다) 항상 main()이 이 필요하다는 것을 들었습니다.은 정수를 반환하지만 여기서는 return 0;
을 넣지 않았으며 0 오류와 0 경고로 컴파일되었습니다! 디버그 창에서 프로그램이 코드 0으로 종료되었습니다.이 함수의 이름이 main()이 아닌 경우 컴파일러는 'blah'가 값을 반환해야한다고 말하는 것에 불평합니다. return;
을 붙이면 오류가 나타납니다. 그러나 그것을 완전히 버려두면 잘 컴파일됩니다.int main() {}이 왜 컴파일됩니까?
#include <iostream>
using namespace std;
int main()
{
cout << "Hey look I'm supposed to return an int but I'm not gonna!\n";
}
이것은 VC++의 버그 일 수 있습니까?
g ++에서이 작업을 수행 할 때 기본적으로 오류가 발생합니다. 대부분의 다른 컴파일러는 대신 "return 0"을 수행합니다. – wakingrufus
main()에 return 문이 없으면 이전 버전의 GCC가 실제로 일부 인스턴스에서 가비지를 반환했습니다. –
@ wakingrufus, 어떤 g ++ 버전을 사용하고 있습니까? sparkes에서 설명한대로 올바른 동작을 얻고 있습니다. – Kevin