参照に割り当てたい値を 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;
}
ご覧のとおり、参照 y に 6 を割り当てても、事前にキャストしないと機能しません。非稼働行が機能するように、クラス X の定義に追加して、キャストなしでこれを機能させることができるものはありますか?
基本的に、たとえば次のような関数を実現したいと考えています。
void doSomething(X& x){
//...
}
その後、次のように呼び出すことができます。
doSomething(7);
出来ますか?