[求助]C++中全局变量的问题
void main(){
int i,flag;
Tx.x=-11.0;
Tx.y=-53.0;
Tx.z= 1.7;
Data Node;
UpEdge=DownEdge=Tx;
database(BP);
for(Tx.normal=37;Tx.normal<38;Tx.normal++)
{
flag=Wall(Tx,BP,flag,TreeNode);
if(flag!=0)
{
for(i=0;i<flag;i++)
{
Node=TreeNode[i];
Node.normal=Intersect('S',Tx.normal,Node,UpEdge,DownEdge);
// UpEdge,DownEdge在Intersect函数内可以正确赋值;
// 但是在Reflection函数调用之前UpEdge,DownEdge却自动恢复为初始
// 默认值0;我这里UpEdge,DownEdge定义的是全局变量,为什么他们的
// 值没有随函数的调用而改变呢?
Reflection(Node,BP,TreeNode,UpEdge,DownEdge);
}
}
else
cout<<"There are no building in the ray incident direction!"<<endl;
}
}