c - 错误:下标值既不是数组也不是指针也不是向量
问题描述
我不知道该怎么做请帮助我这是我的功能和结构定义它显示错误为错误:下标值既不是数组也不是指针也不是向量。`
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];
}
}````
解决方案
函数声明cord succesor(int space[][s],cord score)
将参数声明score
为类型的单一结构cord
。这不是数组或指针。因此,在代码的后面,由于不是数组或指针,score[0]
因此score[k]
无法工作。score
您可能希望将参数声明为cord *score
. 这会将它声明为一个指针,该函数可以使用下标表示法。
推荐阅读
- terraform - Terraform 在计划或初始化阶段克隆 git repo
- flutter - 模糊文本禁用键盘
- java - java的ADAL4j代理问题
- spartacus-storefront - 在斯巴达克斯中扩展 PDP 路线?
- c# - EFCore 3:如何在服务器端比较字符串列
- apscheduler - 如何在 apscheduler 配置中设置别名参数?
- networking - 如何在复杂情况下评估 DPDK 的性能
- php - 是否可以仅在一个变量上使用 DISTICT 语句?
- reactjs - 即使我定义了索引,React 仍然会抛出索引错误
- r - 用于在多个对象中选择元素的 R 循环函数