在使用已发布的解决方案的Keil C51编译器上,我收到以下警告
Mail.c(256):警告C182:指向不同对象的指针
on“pointer =& tab1;”
int (*pointer)[100][280]; // pointer creation
pointer = &tab1; //assignation
(*pointer)[5][12] = 517; // use
int myint = (*pointer)[5][12]; // use
好的,这是我的确切代码,我没做什么似乎可以解决问题...它可能是对象所在的数据空间吗?
int xdata RefPSX [PSX_SIZE][NUMBER_VOLTS]; //xdata space
int (xdata * xdata Ptr)[PSX_SIZE][NUMBER_VOLTS]; //pointer in xdta space pointing //to xdata 2D array
Ptr=RefPSX; // init pointer ****warning C182: pointer different objects****
(*Ptr)[1][2] = 4; // use
为什么警告......代码有效,但为什么?
答案 0 :(得分:0)
如果tab声明如下:
int tab1[100][280];
然后tab1已经是一个指针,所以赋值应该是:
pointer = tab1;
但实际上你可以更多地指出你的问题。