在线上*binSon[0].add(x);,它给我一个错误,一个表达式必须有一个类类型,我该怎么办?
struct Rectangle
{
tName Name; //name of the rectangle
struct Rectangle *binSon[NDIR_1D]; //left and right son
int Center[NDIR_1D];
int Length[NDIR_1D];
void add(Rectangle x){
if(strcmp(x.Name,Name)<0)
{
if(binSon[0]==NULL)
binSon[0]=&x;
else
*binSon[0].add(x);
}else{
if(binSon[1]==NULL)
binSon[1]=&x;
else
*binSon[1].add(x);
}
}
};
Run Code Online (Sandbox Code Playgroud)
您有一个小优先级问题.以下任何一种都应该解决问题:
(*binSon[0]).add(x);
Run Code Online (Sandbox Code Playgroud)
要么
binSon[0]->add(x);
Run Code Online (Sandbox Code Playgroud)
同样适用于另一条线.