Delen via


Compilerfout C2249

'lid': geen toegankelijk pad voor toegang tot lid dat is gedeclareerd in virtuele basisklasse

Opmerkingen

De member klasse of structuur wordt overgenomen van een niet-openbare virtual basisklasse of -structuur.

Voorbeelden

In het volgende voorbeeld wordt C2249 gegenereerd.

// 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 kan ook optreden als u probeert een stream vanuit de C++ Standard-bibliotheek toe te wijzen aan een andere stream. In het volgende voorbeeld wordt C2249 gegenereerd.

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