ожидается 'uint32_t', но аргумент имеет тип 'uint32_t *' - PullRequest
0 голосов
/ 21 июля 2011

Я новичок в C, пытаюсь вызвать функцию, но выдает ошибку, которую не могу понять, почему

int set_price (& colour-> type.name);

возвращает меня expected ‘uint32_t’ but argument is of type ‘uint32_t *’. warning: passing argument ‘int set_price’ makes integer from pointer without a cast

где указатель

house_list * color = NULL;

и имя определено в структуре как

имя uint32_t;

исходная функция принимает

int set_price (имя uint32_t)
{
/ сделать что-то здесь /
}

что я делаю не так? Если в члене структуры имя определено как uint32_t, и я определил цвет указателя, то я считаю, что мне нужно использовать & перед цветом-> тип и использовать точку перед именем, не так ли?

Спасибо

1 Ответ

6 голосов
/ 21 июля 2011
set_price(&colour->type.name);

удалите & и все будет в порядке

set_price(colour->type.name);

set_price ожидает целое число в качестве аргумента, а не указатель на целое число.

Я предлагаю вам прочитать хорошую книгу C .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...