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
}