Erro de Compilador C2831

'operador de operador não é possível ter parâmetros padrão

Somente três operadores podem ter parâmetros padrão:

  • novo

  • Atribuição =

  • Parêntese esquerdo (

O exemplo a seguir gera C2831:

// C2831.cpp
// compile with: /c
#define BINOP <=
class A {
public:
   int i;
   int operator BINOP(int x = 1) {   // C2831
   // try the following line instead
   // int operator BINOP(int x) {
      return i+x;
   }
};