预期'uint32_t'但参数类型为'uint32_t *'

时间:2011-07-21 15:13:58

标签: c

我是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->之前键入并在名称之前使用点不是吗?

谢谢

1 个答案:

答案 0 :(得分:6)

set_price(&colour->type.name);

删除&你会没事的

set_price(colour->type.name);

set_price期望一个整数作为参数,而不是指向整数的指针。

我建议您阅读a good C book