2

在 C++ 中,我可以在类中执行此操作:

class MyClass {
    public:
        int number;
        void SetNumber(int number);
};

void MyClass::SetNumber(int number)
{
    this->number = number;
}

但是这个呢:

int number;

void SetNumber(int number)
{
    //What do I do here?
}

这个问题是因为范围没有“this”,类只有“this”。有任何想法吗?

4

2 回答 2

7

听起来你正在寻找

::number = number;

这假定顶部number是在全局范围内声明的。如果不是,我们需要更多的上下文。

于 2013-06-12T10:36:42.823 回答
2

我认为非常明显的解决方案是不要将函数的参数命名为与全局变量相同的名称。更改numberaNumber(“a”表示“argument”)或更改numbergNumber(“g”表示“global”)。或提出论点num, n, nr, x,kerflunk或除 之外的任何东西number。[在我看来,这也适用于成员函数]。

于 2013-06-12T10:44:49.877 回答