передача указателей на функцию - PullRequest
0 голосов
/ 17 февраля 2011

Это прототип моей функции

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, чтобы удалить эту ошибку, я хочу, чтобы адрес ключей не передавался, поэтому я могу получить доступ к некоторой неправильной ячейке памяти

1 Ответ

1 голос
/ 17 февраля 2011

Если

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 '&'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...