我有一个函数接收作为参数的结构数组的小问题,当试图访问数组元素与运算符 - >我不能访问的结构数组元素 - >
#include <stdio.h>
typedef struct{
int order;
}record;
void entry(record*reg, size_t num_regs);
int main(void){
record reg[10];
entry(reg, sizeof reg/sizeof reg[0]);
return 0;
}
void entry(record*reg, size_t num_regs){
size_t i;
for (i = 0; i < num_regs; i++){
reg[i]->order = i;
printf("\n order = %d", reg[i]->order);
}
}
,如果你试图编译
*error #2140: Type error in argument 1 to 'ingreso'; expected 'registro * *' but found 'registro *'.*
,因为它抛出这个错误,以及如何解决它抛出这个错误?
问题不在于此代码中,你如何调用'entry()'? – 2015-02-11 19:05:39
我们需要看到'void entry(...)的调用。)'有任何帮助,但问题驻留在那里,因为编译器抱怨你正在传递'registro *'而不是'registro **',可能你有'registers [0]'而不是' &registers [0]'或者你传递一个'registro [NUM]'而不是'registro * [NUM]'。 – Jack 2015-02-11 19:06:07
我编辑了添加完整程序的问题 – Kevin 2015-02-11 19:14:04