我当时用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;
}


使用未声明的标识符“令牌”

有人可以帮助我吗?

最佳答案

您的标题保护不正确。它应显示为:

#ifndef _TOKEN_H
// ^


同样,以下划线和大写字母开头的令牌保留给实现使用。因此应该是:

#ifndef TOKEN_H


甚至#ifndef TOKEN_H_GUARD

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

10-10 13:40