Quel cast si può omettere in C, mentre non si può omettere in C++; probabilmente nel caso in cui ti dà errore stai compilando in modalità C++.