我想知道 C++ 是否有某种方式可以自动转换我想要分配给引用的值。
class X{
public:
X(int x){
}
};
int main(){
X x = 5; //works
X& y = 6; //doesn't work
X& z = (X)7; //works
return 0;
}
如您所见,将 6 分配给引用 y 之前不进行转换是行不通的。我可以在类 X 的定义中添加一些东西来使这个工作没有强制转换,这样非工作线就可以工作了吗?
基本上我想实现这一点,例如这样的功能:
void doSomething(X& x){
//...
}
之后可以这样调用:
doSomething(7);
可能吗?