Geo*_*nat 4 c++ class function variable-assignment lvalue
请考虑以下代码:
#include <iostream>
using namespace std;
class X
{
int i;
public:
X(int ii = 0);
};
X::X(int ii) { i = ii; }
int a;
X f1() { return X(); }
int f2() { return a; }
int main() {
f1() = X(1);
f2() = 3;
}
Run Code Online (Sandbox Code Playgroud)
如果你试图运行它,你会得到
错误:左值作为赋值的左操作数需要左值
因此,在第17行
F1()
被认为是左值,而
F2()
不是.解释将对事情的工作方式有很大的帮助.
| 归档时间: |
|
| 查看次数: |
825 次 |
| 最近记录: |