我将指向typedef struct
的指针传递给函数。当我尝试更改typedef struct
的内容时,会出现以下错误:
要求会员' a'在不是结构或联合的东西中 }
代码:
typedef struct _tempStruct
{
int a;
int b;
}TempStruct;
void _function(TempStruct ** param)
{
TempStruct *temp = *param;
temp -> a = 5; //no error
*param -> a = 6; //error: request for member 'a' in something not a structure or union
}
Here is the link of code on ideone
我缺少什么?
答案 0 :(得分:4)
->
的优先级高于*
(间接)的优先级,因此
*param -> a = 6;
应该是
(*param)->a = 6;
答案 1 :(得分:4)
箭头NSNumber
运算符比->
运算符绑定得更紧密。你需要:
*
不要在(*param)->a = 6;
或->
周围放置空格;他们紧紧地绑在一起空间标志着你是一个新手。