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


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

binary 'operator' : глобальный оператор не найден, который принимает тип "type" (или нет допустимого преобразования).

Замечания

Чтобы использовать этот оператор, необходимо перегрузить его для указанного типа или определить преобразование в тип, для которого определен оператор.

Пример

В следующем примере создается C2677:

// C2677.cpp
class C {
public:
   C(){}
} c;

class D {
public:
   D(){}
   operator int(){return 0;}
} d;

int main() {
   int i = 1 >> c;   // C2677
   int j = 1 >> d;   // OK operator int() defined
}