Как исправить ошибку «ожидается *, но аргумент имеет тип **» при попытке передать указатель на функцию - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь передать указатель на функцию:

Это указатель, который я хочу передать:

content_t *encc = malloc(sizeof(*encc));    

Указатель является типом этой структуры

typedef struct _content {
    int length;
    char **lines;    
} content_t;

Здесь я передаю указатель на функцию: write_content("enc-file.txt", &encc);

Вот заголовок моей функции: void write_content(char *filename, content_t *content)

Я получаю следующее сообщение об ошибке:

expected 'struct content_t *' but argument is of type 'struct content_t **'

Что я здесь не так делаю?Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 28 января 2019

encc уже имеет тип content_t *.Добавив &, вы получите выражение типа content_t **, которое не соответствует ожидаемому.

Оператор address-of здесь не нужен, поэтому удалите его.

write_content("enc-file.txt", encc);
0 голосов
/ 28 января 2019

изменить

 write_content("enc-file.txt", &encc); 

на

 write_content("enc-file.txt", encc);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...