首页 > 解决方案 > 错误:下标值既不是数组也不是指针也不是向量

问题描述

我不知道该怎么做请帮助我这是我的功能和结构定义它显示错误为错误:下标值既不是数组也不是指针也不是向量。`

typedef struct cord
{
    int cord[2],score;
}cord;
cord succesor(int space[][s],cord score)
{
    int i,j,k=0;
    cord min=score[0];
    while(k<4)
        {

            i=score[k].cord[0];
            j=score[k].cord[1];
            if(min.score<= score[k].score && space[i][j]!=-1 && i>=0 &&i<=s&&j>=0 &&j<=s)
            {
                min=score[k];s[0]=score[k].cord[0];s[1]=score[k].cord[1];
            }
}````
 

标签: ccompiler-errors

解决方案


函数声明cord succesor(int space[][s],cord score)将参数声明score为类型的单一结构cord。这不是数组或指针。因此,在代码的后面,由于不是数组或指针,score[0]因此score[k]无法工作。score

您可能希望将参数声明为cord *score. 这会将它声明为一个指针,该函数可以使用下标表示法。


推荐阅读