我有以下代码:
string *myf() {
string *a = new string;
a="abc";
return a;
}
我收到错误:
错误:无法转换' const char [4]' to' std :: string * {aka std :: basic_string< char> *}'在任务|
为什么?
答案 0 :(得分:6)
您需要引用要分配的字符串,而不是指针:
*a = "abc";
或者:
a->assign("abc");
顺便说一句:字符串在内部包含指向其数据的指针,因此最好保持简单:
string myf() {
return "abc";
}
这更有效,更安全。