我想知道为什么类的方法的变量的默认值不能是非静态方法或同一类的成员。
这有什么原因吗?编译器不能向方法提供非静态默认值在类中的位置吗?
我试图快速谷歌寻找答案,但我无法找到一个好的答案。
编辑:这是一个例子。
这是合法的:
class ClassTemp
{
static int s_member;
int MagicOperation(int defaultValue = s_member)
{
return defaultValue;
}
};
但这不是:
class ClassTemp
{
int m_member;
int MagicOperation(int defaultValue = m_member)
{
return defaultValue;
}
};