Zauważyłem, że w Visaulu rzucanie wyjątkiem np. throw runtime_error nie wymaga załączenia <stdexcept>. Dlaczego ? Visual ma gdzieś już to w opcjach ustawione ?
0
0
A inkludujesz jakieś inne nagłówki z STL'a lub iostreams?
0
Tylko iostream
0
No to przekop się przez ten nagłówek i zobacz co on włącza. Sam <iostream>
nie musi włączać <stdexcept>
, bo jedyny wyjątek w <iostream>
to std::ios_base::failure
, który dziedziczy z std::exception
z <exception>
.
0
Dlaczego ?
W różnych kompilatorach (ściślej: bibliotekach standardowych) są różne zależności pomiędzy nagłówkami.
Ale nie można na tym polegać, zawsze należy inkludować wszystko co potrzeba.