我是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;
和 name在struct中定义为
uint32_t name;
原始函数接受
int set_price(uint32_t name)
{
/ 在这里做点什么 /
}}
我做错了什么?如果在struct成员中,name被定义为uint32_t,并且我定义了一个指针颜色,而不是我认为我需要使用&在colour->之前键入并在名称之前使用点不是吗?
谢谢
答案 0 :(得分:6)
set_price(&colour->type.name);
删除&你会没事的
set_price(colour->type.name);
set_price
期望一个整数作为参数,而不是指向整数的指针。
我建议您阅读a good C book。