Zastanawiam się po prostu, dlaczego starsze kompilatory, takie jak Turbo C++ 3.0 (niebieski ekran IDE) & Borland Turbo C++ 4.5 itp nie zgłasza żadnego błędu w następnym programie.Dlaczego int & a=10; jest poprawna w starszych kompilatorach C++?
#include <iostream.h>
int main()
{
int& a=10;
cout<<a;
return 0;
}
Powyższy program nie zostanie zaakceptowany przez współczesne kompilatory C++, ale dlaczego starsze kompilatory na to pozwalają? Po prostu pokazują pojedyncze ostrzeżenie w powyższym programie.
jakie ostrzeżenie one pokazują? i jaki błąd pokazuje aktualny kompilator? –
@MarkFisher: warning: tymczasowy używany do inicjowania a. – Destructor
gosh Pamiętam, kiedy Borland 4.5 był nowy. jak starożytne to mnie czyni? przepraszam za offtopic: -} – Ashalynd