我无法访问以下C ++代码中的class'es字段:
class Human
{
string address;
public:
void setAddress( string address )
{
this.address = address;
}
};
此代码将导致错误“错误C2228:'.address'必须具有class / struct / union”。这样做的正确方法是什么?
答案 0 :(得分:7)
this
是指向当前实例的指针,因此您应该使用->
而不是点。
答案 1 :(得分:1)
class Human
{
string m_address;
public:
void setAddress( string address )
{
m_address = address;
}
};
与JavaScript不同,您不需要使用“this”。这里通常给函数参数一个不同的名称以避免歧义