已经声明的变量却显示为声明
TreeNode *decl()
{
typespecifier();
TreeNode * t = varlist();//运行时发生错误 错误为 t是未声明的标识符,可是这里不是声明了么
varlist()返回一个TreeNode 类型的指针
match(SEMI);
TreeNode * q = declarations();
if(t != NULL)
t->sibling = q;
return t;
}
[解决办法]
运行时这三个字不要随便用,建议贴全部代码
[解决办法]
#include "TreeNode.h"
[解决办法]
你把TreeNode节点的代码copy到现在这个文件中试试
[解决办法]
先看看这断代码报错吗
struct TreeNode;
TreeNode *temp_temp_temp()
{
TreeNode * t;
return t;
}
[解决办法]
t的初始化,不是调用了 varlist()么?
你这个 varlist()的返回值是什么,贴一下看看
[解决办法]
把你的 TreeNode 结构体,贴出来。