这是我的功能原型
void classifier_rules(struct classifier *k, struct classifier *ptr_keys);
这就是我指定指针地址的方式
struct classifier keys,*ptr_keys;
ptr_keys = &keys;
我在另一个函数中调用了这个函数classifier_rules
classifier_rules(&(ptr->keys[pos]), &ptr_keys);
here i get a error ‘ptr_keys’ undeclared (first use in this function)
classifier_rules(struct classifier *rules, struct classifier ptr_keys )
{
this is the body of function;
}
hHw要删除此错误,我希望传递密钥的地址失败,我可能会访问一些错误的内存位置
答案 0 :(得分:1)
如果
struct classifier keys,*ptr_keys
在您的调用函数中,然后它应该工作。 (或者至少你应该得到一个不同的错误)。
你不应该传递& ptr_keys。
classifier_rules(&(ptr->keys[pos]), ptr_keys);
//ptr_keys is already a pointer, you don't need to use a '&'