Condividi tramite


Errore del compilatore C2249

'member': nessun percorso accessibile per accedere al membro dichiarato nella 'classe' di base virtuale

L'oggetto member viene ereditato da una classe o una struttura di base non pubblica virtual .

Esempi

L'esempio seguente genera l'errore C2249.

// C2249.cpp
class A {
private:
   void privFunc( void ) {};
public:
   void pubFunc( void ) {};
};

class B : virtual public A {} b;

int main() {
   b.privFunc();    // C2249, private member of A
   b.pubFunc();    // OK
}

C2249 può verificarsi anche se si tenta di assegnare un flusso dalla libreria standard C++ a un altro flusso. L'esempio seguente genera l'errore C2249.

// C2249_2.cpp
#include <iostream>
using namespace std;
int main() {
   cout = cerr;   // C2249
   #define cout cerr;   // OK
}