我有一个定义为
的结构struct Bod{
int x, y;
};
然后我有一个功能
void add(struct Bod* s) {
h[++nh] = s;
}
在下一个函数中,我试图将数组传递给前一个函数,这给了我错误函数add()的参数1的不兼容类型
void bfs(struct Bod* body, int start_index){
struct Bod* v;
add(body[start_index]);
...
}
在main中,我已经像这样创建了这个结构数组
struct Bod body[m*n];
我错过了什么?
答案 0 :(得分:2)
由于body[start_index]
在索引body
为您提供start_index
的一个元素,因此您最终会将该单个元素传递给add()
。< / p>
如果你想传入数组本身,你只需按原样传递body
:
add(body);
或者,从给定索引开始传递数组:
add(&body[start_index]);