私のプログラムにはこの機能があります
const char* Graph::toChar() {
std::string str;
const char* toret;
str = "";
for (vector<Edge*>::iterator it = pile.begin(); it != pile.end(); it++) {
str += (*it)->toString();
}
toret = str.c_str();
return toret;
}
次に、関数をデバッグして、リターントレットになるまですべてが正しく機能するようにします 。ライン。ステップオーバーを押すと、デバッガーはstd ::stringstr;に移動します。行とすべての文字列および文字変数は""になるため、関数の最終的な戻り値は""(何もありません)です。
私は何が間違っているのですか?
*(it)-> toString(); は正しく機能しており、デバッガーが* toret = str.c_str();*を実行すると、toretの値は正しいです。
どうも