this.x = x; 的 C++ 非类作用域替换;

标签 c++ class methods this

在 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”。有什么想法吗?

最佳答案

听起来你在找

::number = number;

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

关于this.x = x; 的 C++ 非类作用域替换;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17063319/

相关文章:

ios - 如何从不同的 swift 类重置变量/步进值

android getText(int resId) 实现

c++ - MFC 自定义按钮控件

c++ - 如何处理警告C4177 : #pragma 'float_control' should only be used at global scope or namespace scope

c++ - 在类中创建对象的最佳实践

java - 如何在Java中的类字段内进行计算?

java - 获取不同的文件

c++ - 当试图通过使用带有虚拟参数的模板别名来隐藏基类来混淆它们时,clang 和 gcc 之间的行为差​​异

c++ - 通过引用为 boost::shared_ptr 创建别名

class - Grails保存扩展类