我的功能如下:
void deleteNode ( node **my_head, int t_data )
{
typedef (*my_head) head;
}
我想为双指针(* my_head)的值设置别名。 在编译时我收到以下错误:
<error: expected '=', ',', ';', 'asm' or '__attribute__' before 'head'>
我确实有一个解决方法,但我仍然需要做这项工作。 任何人都可以帮我解决这个问题!
答案 0 :(得分:3)
您需要为类型设置别名,而不是变量名。
typedef node** head;
答案 1 :(得分:2)
语法是
typedef <old type name> <new alias>;
所以在这里你应该使用
typedef node** head
答案 2 :(得分:0)
请注意命名法typedef
。它用于类型定义。确切地说,typedef
用于定义 new 类型,而不是您期望的变量名称别名。
根据c99
标准,第6.7.2章类型说明符是
因此,您可以将typdef
用于这些类型。您要尝试的是将typedef
与 变量名称 一起使用。那是 不 允许的。
正如其他人指定的那样,你必须以格式
使用typedeftypedef <old type name> <new alias>;