我没仔细的去看你的程序逻辑,但从结构体声明和定义来看,是有问题的。
struct POINT3D
{
float x;
float y;
float z;
};
这么一个结构体,本身没有错误。要定义变量,应该是
struct POINT3D abc;
而不应该省略掉其中的struct关键字。你可以看一下,你所有的结构体定义都是这个错误。如果真想省略struct关键字,那么你的结构体声明就不能这么写,可以写成下面这样。
typedef struct
{
float x;
float y;
float z;
} POINT3D ;
这样,在定义变量时就可以直接使用 POINT3D abc; 来定义了。先把这个问题解决了,再往下进行吧。
POINT3D *p_pnt[3];
TRIANGLE *p_tri[100];
这两个相当于二级指针了,需要new一下,用堆分配内存。现在有事情,晚点再调试一下。
比如下面
PART Tool[10];
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 100; j++)
{
Tool->p_tri[j] = new int;
}
}
而且你的using namespace std;呢?