你好,我有这样的代码编译器错误(错误是从Microsoft Visual Studio 2008中): class B
{
protected:
int b;
};
class A : public B
{
public:
void foo(){ &B::b; }// error C2248: 'B::b' : cannot access protected member dec
如果我有两个类与同一名称和类型的成员在同一层次结构中,那么创建指向基类变量的成员指针的“正确”方法是什么?例如, class A
{
int x;
A():x(1){}
};
class B : public A
{
int x;
B():x(2){}
};
int main(int argc, char *argv[]) {
B cl
我遇到了C++类的这个问题。我想获得指向myBar对象的对象,并将其存储在quxBar中。原因是我希望能够使用quxBar->getX()来检查价值,但我也想避免意外地从Qux中调用它,所以我尝试使用Bar const*。 class Bar
{
private:
int x;
public:
void setX(int X) { x = X; };
int g
在以下代码中考虑以下语句: - “int B :: * bpm;” class B
{
public :
int bi;
};
class D : public B
{
};
int main()
{
D obj;
int B::*bpm;
bpm = &B::bi;
obj.*bpm = 1;
retur
如果我创建一个指向基本成员的指针,我通常可以将它转换为一个指向派生成员的指针,但不能用于像下面的Buzz这样的模板中,第一个模板参数会影响第二个模板参数。我是在与编译器错误作斗争还是标准确实要求这不起作用? struct Foo
{
int x;
};
struct Bar : public Foo
{
};
template<class T, int T::* z>