【发布时间】:2012-08-08 08:28:34
【问题描述】:
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
-
这很有趣:
void increment(int i, out int j) { j = i + 1; },你用increment(member, member)调用它。
标签: constructor initialization pass-by-reference d immutability