“member”:虚拟基“class”中声明的访问成员没有可访问的路径
member
继承自非公共 virtual
基类或结构。
示例
下面的示例生成 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
}
如果尝试将 C++ 标准库中的流分配到另一个流,也会发生 C2249。 下面的示例生成 C2249。
// C2249_2.cpp
#include <iostream>
using namespace std;
int main() {
cout = cerr; // C2249
#define cout cerr; // OK
}