小编Cap*_*Tid的帖子

无法成功返回我通过在字符串上调用c_str()创建的const char*.(C++)

我的程序中有一个类,它有一个成员变量,一个名为number的int,以及一个成员函数getName(),它是MEANT,它将单词"Dice:#"作为const char*返回,但是#替换了按类中存储的数字.

const char* getName(){
 return "Dice:";
}
Run Code Online (Sandbox Code Playgroud)

效果很好.

const char* getName(){
 std::stringstream ss;
 ss << number;
 std::string s;
 s = "Dice: " + ss.str();
 return s.c_str();
}
Run Code Online (Sandbox Code Playgroud)

不能正常工作,并返回似乎是垃圾的东西.我无法弄清楚正确的方法.如果我使用cout打印s.c_str()它打印我期望的.

c++ string scope return lifetime

0
推荐指数
1
解决办法
156
查看次数

标签 统计

c++ ×1

lifetime ×1

return ×1

scope ×1

string ×1