c++ - 使用未声明的标识符 'Token'

原文 标签 c++ gcc g++

我正在用 C 编写解释器,但复杂性太高。我开始将代码放入 cpp 类中,但出现错误:

#ifdef _TOKEN_H
#define _TOKEN_H
enum TOKEN_TYPE {INTEGER, IDENTIFIER, KEYWORD, OPERATOR, UNKNOWN};

class Token
{
  public:
    Token(string v = "", TOKEN_TYPE t = UNKNOWN);

  private:
    string value;
    TOKEN_TYPE type;
};

#endif

还有 Token.cpp
#include "Token.h"
using namespace std;

Token::Token(string v, TOKEN_TYPE t)
{
   value = v;
   type = t;
}

使用未声明的标识符“ token ”

任何人都可以帮助我吗?

最佳答案

您的头球后卫不正确。它应该是:

#ifndef _TOKEN_H
// ^

此外,以下划线和大写字母开头的标记保留供实现使用。所以应该是:
#ifndef TOKEN_H

甚至#ifndef TOKEN_H_GUARD

关于c++ - 使用未声明的标识符 'Token',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30846805/

相关文章:

c++ - 如何使用OpenAL录制声音

c++ - c++/g++ —编译错误.. fatal error : iostream: No such file or directory compilation terminated

c++ - ostream& operator<< 令人费解的编译错误的显式模板参数规范

c++ - g++在Windows命令提示符下不起作用。安装了Cygwin

c++ - 图形库 API 设计

c++ - 过载运算符new用于不同的返回值

optimization - GCC最昂贵的优化是什么?

c++ - 如何在同一系统中运行使用不同gcc版本生成的两个可执行文件

c++ - G++和4.8中的GLM和原子

c++ - 如何获取有关域 .NET C++ 的信息