C++ 在初始化列表中使用“this”时出错
我得到以下代码的错误“预期标识符”。如何在构造函数中正确使用初始化列表C++ 在初始化列表中使用“this”时出错,c++,C++,我得到以下代码的错误“预期标识符”。如何在构造函数中正确使用初始化列表 tanVec::tanVec(const int x, const int y, const int z): this->x(x), this->y(y), this->z(z) { } 您可以安全地删除此-消除歧义不需要它,因为初始化列表中的名称将解析为类的成员,即使参数列表中的参数名称需要在构造函数体中消除歧义 // Compiler will not confuse members x, y, a
tanVec::tanVec(const int x, const int y, const int z): this->x(x), this->y(y), this->z(z)
{
}
您可以安全地删除
此
-消除歧义不需要它,因为初始化列表中的名称将解析为类的成员,即使参数列表中的参数名称需要在构造函数体中消除歧义
// Compiler will not confuse members x, y, and z with constructor arguments x, y, and z
tanVec::tanVec(const int x, const int y, const int z): x(x), y(y), z(z) {}
您可以安全地删除
此
-消除歧义不需要此,因为初始化列表中的名称将解析为类的成员,即使参数列表中的参数的名称需要在构造函数体中消除歧义
// Compiler will not confuse members x, y, and z with constructor arguments x, y, and z
tanVec::tanVec(const int x, const int y, const int z): x(x), y(y), z(z) {}
您可以安全地删除
此
-消除歧义不需要此,因为初始化列表中的名称将解析为类的成员,即使参数列表中的参数的名称需要在构造函数体中消除歧义
// Compiler will not confuse members x, y, and z with constructor arguments x, y, and z
tanVec::tanVec(const int x, const int y, const int z): x(x), y(y), z(z) {}
您可以安全地删除
此
-消除歧义不需要此,因为初始化列表中的名称将解析为类的成员,即使参数列表中的参数的名称需要在构造函数体中消除歧义
// Compiler will not confuse members x, y, and z with constructor arguments x, y, and z
tanVec::tanVec(const int x, const int y, const int z): x(x), y(y), z(z) {}
只需删除
此->
您不需要它(使参数名称与您的成员变量不同,例如添加ux)。我认为您甚至不需要使用初始化列表来改变名称。您不必使构造函数参数名称与成员名称不同C::C(int x):x(x){}
完全有效。@user2357112是的,我应该指定该部分为可选部分。我只是觉得这更清楚了。也许就是我。@Celeritas:在正文中,您需要this->
。只需删除this->
,您就不需要它了(使参数名称不同于您的成员变量,例如添加389;)。我认为您甚至不需要使用初始化列表来改变名称。您不必使构造函数参数名称与成员名称不同C::C(int x):x(x){}
完全有效。@user2357112是的,我应该指定该部分为可选部分。我只是觉得这更清楚了。也许就是我。@Celeritas:在正文中,您需要this->
。只需删除this->
,您就不需要它了(使参数名称不同于您的成员变量,例如添加389;)。我认为您甚至不需要使用初始化列表来改变名称。您不必使构造函数参数名称与成员名称不同C::C(int x):x(x){}
完全有效。@user2357112是的,我应该指定该部分为可选部分。我只是觉得这更清楚了。也许就是我。@Celeritas:在正文中,您需要this->
。只需删除this->
,您就不需要它了(使参数名称不同于您的成员变量,例如添加389;)。我认为您甚至不需要使用初始化列表来改变名称。您不必使构造函数参数名称与成员名称不同C::C(int x):x(x){}
完全有效。@user2357112是的,我应该指定该部分为可选部分。我只是觉得这更清楚了。也许只有我。@Celeritas:在身体里,你需要这个->
。