读书人

const char* 转换有关问题

发布时间: 2013-11-08 17:52:14 作者: rapoo

const char** 转换问题
这几行代码是可以运行的:
std::string Str("yuanzan");
const char* pStr = Str.c_str();
const char** ppStr = &pStr;
最后一行换成const char** ppStr = &(Str.c_str());
报出这样的错:
error C2102: '&' requires l-value
求大神解答啊,thank you
[解决办法]
Str.c_str()返回右值,实际上除非函数返回值是引用类型,否则函数返回的是右值类型。而取地址&需要左值
[解决办法]
C++11右值引用→_→
开玩笑的..不过你的确可以尝试下
[解决办法]
Str.c_str()本身就是一个地址值,所以不可以进行&操作。
pStr不一样,它是一个指针变量。

读书人网 >C语言

热点推荐