void increment(ref int i)
{
++i;
}
class Class
{
immutable int member;
this(int parameter)
{
member = parameter;
++member; // okay
increment(member); // compile-time error
}
}
为什么++member
没问题,但increment(member)
不是?不应该都以相同的方式?更改构造函数内的不可变成员
但是这会让事情变得简单。 :P – Mehrdad 2012-08-08 08:34:10
有趣的是这个工作:'void increment(int i,out int j){j = i + 1; }',并用'increment(member,member)'调用它。 – Arlen 2012-08-08 15:04:27