e5057.cpp

一時オブジェクトのポインタを返すな

/* A:e5057: ローカルテンポラリへの参照を返しています */

修正前 const string* str2() { return &string("abc"); }
修正後 string str2() { return string("abc"); }

解説 ローカルで作成したインスタンスを無理にポインタで返そうとするのは間違いです。 スコープから抜けるのでゴミを指したポインタが返るだけです。