Partilhar via


Erro do compilador C2801

«Operador operador» deve ser um membro não estático

Observações

Os seguintes operadores podem ser sobrecarregados apenas como membros não estáticos:

  • Atribuição =

  • Acesso a membros da classe ->

  • Subscrição []

  • Chamada de função ()

Possíveis causas C2801:

  • Operador sobrecarregado não é uma classe, estrutura ou membro do sindicato.

  • O operador sobrecarregado é declarado static.

Example

  • O exemplo a seguir gera C2801:
// C2801.cpp
// compile with: /c
operator[]();   // C2801 not a member
class A {
   static operator->();   // C2801 static
   operator()();   // OK
};