컴파일러 경고(수준 1) C4620
'type' 형식에 대한 'operator ++' 후위 형식이 없으므로 전위 형식이 사용됩니다.
지정된 형식에 대해 정의된 후위 증가 연산자가 없습니다. 컴파일러가 오버로드된 전위 연산자를 사용했습니다.
이 경고는 후위 ++
연산자를 정의하여 방지할 수 있습니다. 인수가 두 개인 버전의 ++
연산자를 다음과 같이 만듭니다.
// 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
}