variable qui se modifie quand on en modifie une autre
Bonjour,
J'ai une variable qui change de valeur sans que je sache pourquoi.
Voilà ma méthode
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
void fonction_provisoire(const char* video_name, short unsigned int proj){
const char* name;
string name_prov = (video_name);
if (name_prov.substr(name_prov.size()-4, 4) == ".avi")
name = name_prov.substr(0, name_prov.size()-4).c_str();
else
name = name_prov.c_str();
string p;
switch(proj){
case 1 :
cout<<name<<endl;
p = "xy";
cout<<name<<endl;
break;
case 2 :
p = "xt";
break;
case 3 :
p = "yt";
break;
default:
exit(1);
}
return;
} |
Je l'appelle comme suit :
Code:
fonction_provisoire("seq.avi", 1);
Et elle m'affiche :
seq
xy
Je ne comprends pas pourquoi "name" est modifié au moment ou j'affecte "xy" à p. Si quelqu'un peut m'expliquer ça serait génial !
Merci d'avance