有什么方法可以禁止将结构用作左值(不能用作变量)?
我尝试禁用构造函数和 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);
}