Учитывая следующую структуру с именем файла и functionpointer:Ошибка при инициализации функции указатель, который является структура член
static struct thread {
const char *const filename;
ssize_t (*in)(struct thread *, void *, size_t);
}
и функции
int MyClass::read_wrap(struct stThread *t, void *buf, size_t nbytes)
{
return read(t->fd, buf, nbytes);
}
Я стараюсь, чтобы назначить функцию read_wrap
для элемент указателя функции в объекте struct:
int main (void)
{
thread myThread;
myThread.in = read_wrap;
}
Но я получаю t он ошибка:
error: cannot convert MyClass::read_wrap’ from type ‘int (MyClass::)(stThread*, void*, size_t) {aka int (MyClass::)(stThread*, void*, unsigned int)}’ to type ‘int (*)(MyClass*, void*, size_t) {aka int (*)(stThread*, void*, unsigned int)}’
Я имею в виду, структура ожидает указатель на функцию, и я думал, когда я передать его имя функции, что это как-то отливают в FP ?! Этот код является C и скомпилирован с gcc. Спасибо за помощь!
Т-> FD функция типа функции, это отличается только за указатель на функцию типа – zapredelom