Cada compilador tem as suas particularidades e muitas vezes um código que é compilado num, noutro não dá. Por exemplo no Dev C++, a função main tem que retornar sempre um valor inteiro, e é por isso que não se pode utilizar void main, pois isso não retornaria nenhum valor. Porém em outros compiladores pode-se utilizar void main, por isso é que isso se encontra em muitos tutoriais. Outro caso é o
#include <iostream>
using namespace std;
(o dev c++ aceita este código, mas se não me engano o borland não, por isso temos que utilizar
#include <iostream.h>