看不懂了,求救
是构造地图的一段
struct
{
obj* pobj;
......
}*PPoint
int main()
{
PPoint ** m_pPoints;//坐标点
//创建二维数组
m_pPoints=new PPOINT*[MAX_X];
for(int nx=0;nx<100;nx++)
m_pPoints[nx]=new PPOINT[MAX_Y];
}
那个m_pPoints是一个三级指针么???
那个for循环是怎么创建点的,看着好晕哪。。。。。
[解决办法]
struct
{
obj* pobj;
......
}*PPoint;
这样是错误的,是声明一个指针,而不是一个类型;
typedef struct
{
obj* pobj;
......
}*PPoint;
这才是一个指针类型;m_pPoints是三级指针,是指向一个指针数组的指针(这个指针数组里的指针指向你的PPoint的空间);
for循环也是正常的去在指针数组中确定指针的值(这个值仍然是指针数组,因为PPoint是指针类型)
[解决办法]
永远不要用维度来形容指针, 指针没有维度, 数组才有维度.