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++ - posix_memalign 内存分配和内存释放

C++ for structure in vectors access index or use reference instead value

gcc - Ubuntu 上的 C++ 应用程序。安装 gcc 4.8.1 后 gdb 无法工作

c++ - 适用于 g++ 但不适用于 MSVC++

C++ - 动态加载行为

c++ - 一个将整数转换为数字数组的函数c++

c++ - VS2012 "Generating Code"大型硬编码数组速度慢

r - 在Cloudera CDH4上编译R包时GCC出错

c++ - 在 10.15 之前的 mac 版本上,llvm 9 是否支持 std::filesystem?

c++ - 为什么 "case::LABEL:"在 g++ 中编译?