Illegale Referenz erzeugen ist ganz einfach
-
Hey,
Warum erzeugt das keinen Compilerfehler??
int& ref = ref;
Warum schützt der Compiler denn solche Situationen nicht ab?? Oder kann sowas irgendeinen Sinn haben?
-
Also mein Compiler gibt mir 'ne Warnung aus.
uninitialized local variable 'ref' used
Was willst du denn noch?
-
Bei mir kommt keine Warnung mit g++ und comeau online compiler
-
hast du vielleicht in einem äußeren scope eine int-variable die so heißt?
-
Nein nur das:
int main() { int& ref = ref; }
-
Beim g++ gibts wirklich keine Warnung/Error.
Naja, und? Ist das von ganz besonderer Wichtigkeit? Wer schreibt schon sowas?
-
ich könnte mir aber acuh vorstellen, dass der g++ ne warnung ausgibt, wenn man die richtigen parameter(kenn ich nicht!!)
angibt(beim vc müssen auch parameter gesetzt sein(sind sie standardmäßig)cu
-
#include <iostream> using namespace std; int main() { int& ref = ref; cout << &ref << ": " << ref; cin.get(); }
output:
0x3f2a98: 4139808Dieser Speicherbereich gehört zum freestore. Keine Fehlermeldung.