编译器警告(等级 1)C4620
未找到类型“type”的“运算符 ++”后缀形式,请使用前缀形式
没有为给定的类型定义后缀递增运算符。 编译器使用了重载的前缀运算符。
可以通过定义后缀 ++
运算符来避免此警告。 创建的 ++
运算符的两个参数版本如下所示:
// C4620.cpp
// compile with: /W1
class A
{
public:
A(int nData) : m_nData(nData)
{
}
A operator++()
{
m_nData -= 1;
return *this;
}
// A operator++(int)
// {
// A tmp = *this;
// m_nData -= 1;
// return tmp;
// }
private:
int m_nData;
};
int main()
{
A a(10);
++a;
a++; // C4620
}