【发布时间】:2013-08-03 14:03:32
【问题描述】:
有什么方法可以禁止结构体被用作左值(不能用作变量)?
我已经尝试禁用构造函数和 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);
}
【问题讨论】:
-
您在寻找
const关键字吗?