member from enclosing class is not a type name, static, or enumerator

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:22:04
#include"globals.h"

class grammar
{
public:
grammar();
void get_head(token *n); //将token链的头指针赋给tk;
void expr(); //关于+、*计算的语法分析器
void token(int );//判断token类型是否一致
void next_token();//指针下移
void prog(); //语法分析器
~grammar();

private:
token *tk;
};
这是在一个头文件中的一个类的定义,token类在globals.h中已经定义好并且可以使用了,但是为什么会出现这个错误,请指教

void get_head(token *n); //将token链的头指针赋给tk;

void token(int );//判断token类型是否一致
token类在globals.h中已经定义好并且可以使用了

作用域问题,get_head将token视为类中的函数而不是类外定义的类token