首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

const char* 转换有关问题

2013-11-08 
const char** 转换问题这几行代码是可以运行的:std::string Str(yuanzan)const char* pStr Str.c_str

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不一样,它是一个指针变量。

热点排行