Все компиляторы реализуют стандарт C ++ немного по-разному. Однако проблемы, которые вы получаете с g ++, заключаются в том, что по умолчанию он включает множество языковых расширений. Чтобы получить предупреждения об этом, вы должны всегда компилировать по крайней мере с флагами -Wall и -pedantic:
g++ -Wall -pedantic myfile.cpp
, который выдаст следующие ошибки / предупреждения:
myfile.cpp:1:119: error: iostream.h: No such file or directory
myfile.cpp:2: error: '::main' must return 'int'
myfile.cpp: In function 'int main()':
myfile.cpp:6: warning: ISO C++ forbids variable length array 'arr'
myfile.cpp:9: error: 'cout' was not declared in this scope