首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

data member 指针的有关问题

2012-04-07 
data member 指针的问题深度探索c++对象模型classA{public:intmintn};intmain(){Aaprintf( %d,%d ,&A

data member 指针的问题
深度探索c++对象模型
class   A
{
public:
int   m;
int   n;
};

int   main()
{
        A   a;
        printf( "%d,%d ",&A::m-1,&A::n);
}

编译有错误:
error   C2296:   '- '   :   illegal,   left   operand   has   type   'int   A::* '

我用的是vc6.0,   用g++也是如此。

但书上明明有这样的例子啊。p98.

[解决办法]
成员指针只能赋值,不能加减,可以用 union_cast 来转成 int
[解决办法]
指向成员的指针,只能转换成bool,这是C++标准规定的,没啥讨价还价的余地。不要钻牛角尖。

热点排行