2011-02-17 137 views
0

这是我的函数的原型传递指针给一个函数

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删除这个错误,我想按键的地址传递失败d Ø所以我可以访问一些错误的内存位置

+4

你可以发布调用函数的主体?此外,你的功能定义与原型不符 - 是否只是一个错字? – 2011-02-17 13:08:43

回答

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 '&'