'->' 的基本操作数具有非指针类型

Base operand of '->' has non-pointer type

本文关键字:类型 指针 gt 操作数      更新时间:2023-10-16

我正在尝试在C++中实现A*算法。一切似乎都有效,除了绘制算法找到的路径。

    for(int i = 0; i<succesor.size(); i++){
        if(tab[succesor[i].x][succesor[i].y] == 'E'){
            node s = succesor[i];
            while(s.parent != NULL){
                tab[s.x][s.y] = '*';
                s = s->parent;
            }
        } 
    }

这是我的节点结构:

struct node{
    node *parent;
    int x, y;
    double f, g, h;
};

为了避免复制整个node结构,请尝试以下操作:

for(int i = 0; i<succesor.size(); i++){
    if(tab[succesor[i].x][succesor[i].y] == 'E'){
        node* s = &succesor[i];
        while(s->parent != NULL){
            tab[s->x][s->y] = '*';
            s = s->parent;
        }
    } 
}