Condividi tramite


Avviso del compilatore (livello 4) C4626

'classe derivata': impossibile generare l'operatore di assegnazione poiché un operatore di assegnazione della classe base è inaccessibile

Un operatore di assegnazione non accessibile in una classe base non può essere generato per una classe derivata. Qualsiasi tentativo di assegnare oggetti di questo tipo genera un errore del compilatore.

Per impostazione predefinita, questo avviso non è attivo. Per ulteriori informazioni, vedere Avvisi del compilatore disattivati per impostazione predefinita.

Nell'esempio seguente viene generato l'errore C4626:

// C4626
// compile with: /W4
#pragma warning(default : 4626)
class B
{
// public:
   B& operator = (const B&)
   {
      return *this;
   }
};

class D : public B
{

}; // C4626, make B's copy constructor public

int main()
{
   D m;
   D n;
   // m = n;   // this line will cause an error
}