Поделиться через


Ошибка компилятора C2831

Оператор оператора не может иметь параметры по умолчанию

Только три оператора могут иметь параметры по умолчанию:

  • новую

  • Назначение =

  • Левая скобка (

Следующий пример приводит к возникновению ошибки 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;
   }
};