1

構造体が左辺値として使用されないようにする方法はありますか (変数として使用できません)?

コンストラクターと opAssign を無効にしようとしましたが、最終的には関数から割り当てることができます。

unittest
{
    //mystruct doesntCompile;
    mystruct shouldntCompile = makeMyStruct();
}


struct mystruct
{
    @disable this();
    @disable this(this);
    @disable void opAssign(ref mystruct);
    @disable void opAssign(mystruct);
    this(int dummyArgument){}
}

mystruct makeMyStruct()
{
    return mystruct(0);
}
4

1 に答える 1

2

構造体が左辺値として使用されないようにする方法はありますか (変数として使用できません)?

いいえ、できません。すべての型は、左辺値であるインスタンスを持つことができます。

何を達成しようとしているのかをお知らせいただければ、より良い回答が得られる可能性があります。構造体が左辺値として使用されないようにしたいのはなぜですか?

于 2013-08-03T14:55:02.667 に答える