Что это значит, когда две пустоты в имени параметра в C? - PullRequest
0 голосов
/ 25 января 2012

У меня есть метод, который мне нужно заполнить, и один из параметров: «void (* destructor) (void *)». Кто-нибудь может сказать мне, что это?

Ответы [ 4 ]

4 голосов
/ 25 января 2012

Это Указатель функции .

Хранит адрес функции, которая принимает void * (указатель на void) в качестве входного параметра и не возвращает параметров.

1 голос
/ 25 января 2012

void (*destructor)(void*) является указателем на функцию.Это означает, что вы можете использовать его для указания на любую функцию, которая имеет void в качестве возвращаемого значения (ничего не возвращает) и ожидает универсальный указатель (void*), который может указывать на что угодно.

1 голос
/ 25 января 2012

Это указатель на функцию.Данная функция должна иметь сигнатуру:

void funcname(void*)

Первый void - это тип возвращаемого значения, второй - указатель на void (иными словами, указатель на то, кто знает, что, по-видимому, будет лежать в основе базовой функции).приведем к некоторому полезному типу позже).

0 голосов
/ 25 января 2012

Это указатель на функцию, которая принимает void* в качестве единственного аргумента и ничего не возвращает.

...