1

参照に割り当てたい値を 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);

出来ますか?

4

1 に答える 1