困扰好多天的一个诡异问题
一个类的头文件中某个变量,如果我直接调用这个变量,那就不会有任何问题,但是如果这个变量用内联函数返回
(如 int* x;int* getx(){return x;}),那么返回回来的实际地址就会有所偏移(这里是指变量本身的地址,而不是指变量指向的地址)。
不是内存对齐的问题,我把内存对齐方式打出来了,都是8。
奇怪的是,如果我把这个返回函数写成非内联的,那返回回来的地址就正确了,但是这时候,又会有其他的变量返回出问题。
如果我把这个变量放在类开始的地方,这个问题也没有了。但是也是会有其他变量返回出问题。
求高人指点,给点思路。
对了,这个类对象是一个静态对象。
工程我重编过很多次了,所有中间文件也都删过了。
另,我的编译环境是2008