无法直接为引用变量分配整数值,例如:
int &x=10; //not possible
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以修改此语句以使其成为可能?
但不是这样的:
int a=10;int &x=a;
Run Code Online (Sandbox Code Playgroud)
这很好用.但我想要一些其他方式或修改我的表达并让它工作!
它不起作用的原因是因为 10 是“const int”类型。您可以将其转换为引用,但至少不能在不违反某些逻辑的情况下将其设为非常量。
const int &a = 10;
Run Code Online (Sandbox Code Playgroud)
那会起作用的。
int &b = const_cast<int &>(static_cast<const int &>(10));
Run Code Online (Sandbox Code Playgroud)
也将编译,但您不能修改 b (因为这意味着修改实际的“10”值)。