int getX() { return 3;}
int& x = getX();//error
const int& y = getX();//ok
请问,为什么第二行代码会行不通,而加个const却可以???
int getX() { return 3;}
int& x = getX();//error
const int& y = getX();//ok
请问,为什么第二行代码会行不通,而加个const却可以???
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
这篇文章解释的不错,可以看看,http://stackoverflow.com/questions/1565600/how-come-a-non-const-reference-cannot-bind-to-a-temporary-object
主要是因为getX()返回的是一个临时变量