不熟悉c ++指针,需要帮助

hel*_*lp 0 c++ pointers

在线上*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)

Mys*_*ial 5

您有一个小优先级问题.以下任何一种都应该解决问题:

(*binSon[0]).add(x);
Run Code Online (Sandbox Code Playgroud)

要么

binSon[0]->add(x);
Run Code Online (Sandbox Code Playgroud)

同样适用于另一条线.