Le programme suivant m'a donné une erreur d'exécution (Segmentation Fault (SIGSEGV)).Qu'est-ce qu'une référence pendante?
#include <iostream>
using namespace std;
int& bar()
{
int n = 10;
return n;
}
int main() {
int& i = bar();
cout<<i<<endl;
return 0;
}
Mon professeur m'a dit que c'est un comportement indéfini parce que la référence est pendante. Est-ce qu'il a raison? Si oui, comment l'éviter?
Il doit y avoir une bonne copie pour cela. – hyde
Oui, votre ordinateur a raison lorsqu'il se plaint d'un problème informatique. Alors, quel ** est ** l'erreur exacte? Copiez et collez le message d'erreur dans votre question. Et je ne suis pas sûr que vous ayez une erreur * runtime *; votre compilateur devrait déjà vous avertir. –
Redécouvre-t-il google? – molbdnilo