我有以下内容:
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;
}
如何正确引用x
的{{1}}和y
变量,而不是struct A
和x
变量的构造函数参数{ {1}}?
谢谢。
答案 0 :(得分:7)
this
是一个指针,因此您需要取消引用它:
this->x = x;
this->y = y;
如果它是struct
或class
并不重要,它在两种情况下都是指针。两者之间唯一不同的是,struct
成员默认为public
,而class
成员默认为private
。
此外,在函数内部定义struct
或class
并不是一个好主意。相反,请在全球范围内进行。