c++ - 在结构构造函数中使用 "this"关键字编译错误? - C++

标签 c++ struct constructor

我有以下内容:

int main()
{
    struct A
    {
        unsigned char x, y;

        A(unsigned char x, unsigned char y)
        {
            this.x = x; // Error: expression must have class type.
            thix.y = y; // Error: expression must have class type.
        }
    };

    return 0;
}

如何正确引用 struct Axy 变量而不是 xA的构造函数参数的y变量?

谢谢。

最佳答案

this 是一个指针,因此您需要取消引用它:

this->x = x;
this->y = y;

它是struct 还是class 都没有关系,在这两种情况下它都是一个指针。两者唯一的区别是struct成员默认是public,而class成员默认是private .

此外,在函数内部定义structclass 也不是一个好主意。而是在全局范围内进行。

关于c++ - 在结构构造函数中使用 "this"关键字编译错误? - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805056/

相关文章:

c++ - 简单的软件许可证 key 服务器建议?

c - 在编译时查看结构体元素的大小?

c - C 或 nesC 中结构体的语法

c++ - 在 C++ 的类构造函数中初始化结构数组

android - liquidfun 1.1.0 ndk-build 2 编译错误

c++ - 更改链表中元素的顺序

c++ - 如何提取未命名结构的类型以在结构本身内创建新类型?

java - 抽象类的公共(public)构造函数是否有充分的理由

java - 构造函数错误

c++ - QFont 到 qss 样式表