Ich muss die <limits.h> gar nicht aufrufen
-
//#include <limits.h> #include <iostream> using namespace std; int main() { cout<<INT_MAX<<endl; };Warum geht das bei mir ohne <limits.h>? Ich hab gedacht die Funktion INT_MAX ist aus <limits.h> aber es compiliert auch fehlerlos ohne die Header.
-
iostream (bzw istream) holt limits rein. schmeiss mal iostream raus, dann sollte es nicht mehr kompilieren..
-
thordk schrieb:
iostream (bzw istream) holt limits rein. schmeiss mal iostream raus, dann sollte es nicht mehr kompilieren..
Der Standard legt nicht fest, welche Standard-Header welche anderen Headern inkludieren. Das iostream limits inkludiert kann also sein, muss aber nicht. Man sollte sich also nicht auf die include-Eigenheiten eines bestimmten Compilers verlassen, sondern lieber immer alle nötigen Header explizit einbinden.