在初始化列表中使用`this`时出错

时间:2014-01-28 01:30:49

标签: c++

我收到以下代码的错误“预期标识符”。如何在构造函数中正确使用启动列表?

tanVec::tanVec(const int x, const int y, const int z): this->x(x), this->y(y), this->z(z)
{

}

1 个答案:

答案 0 :(得分:3)

您可以安全地删除this - 消除歧义不需要它,因为初始化列表中的名称将被解析为您的类的成员,即使您的参数列表具有名称需要消除歧义的参数也是如此。构造函数的主体。

// 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) {}

Small demo on ideone.