使用类似链接列表的结构会产生问题。 当我声明2个值(我的结构)时, 它返回错误:
此VALUE_NAME未声明此范围
这是来源的一部分。
struct _node
{
int val;
_node* prev;
_node* next;
};
typedef struct _node node;
node* HEAD;
void deleteALLNode()
{
node* node = HEAD;
node* _tmp;
//
// here _tmp value return error
//
}
答案 0 :(得分:1)
你不能将你的变量命名为同名的类型(你可以一次,但是你不能再使用没有编译错误的类型)。只需将node* node = HEAD;
变量的名称更改为其他名称,例如node* pNode = HEAD;
答案 1 :(得分:-2)
如果是C ++,您可以直接使用_node
,而不需要typedef
。 typedef
结构是C风格。
struct _node
{
int val;
_node* prev;
_node* next;
};
_node* HEAD;
void deleteALLNode()
{
_node* node = HEAD;
_node* _tmp;
}