65,211
社区成员
发帖
与我相关
我的任务
分享
class Token
{
int tokenType;
enum
{
int ival;
double dval;
}
};
struct Token
{
int tokenType;
union
{
int ival;
double dval;
};
};
Token ZERO_TOKEN = {0, 0};
class Token
{
public:
enum TokenType {INT, DOUBLE};
TokenType tokenT;
union
{
int ival;
double dval;
} tokenVal;
public:
Token(TokenType t, double d):tokenT(t)
{
switch(t)
{
case TokenType::INT:
tokenVal.ival = int(d);
break;
case TokenType::DOUBLE:
tokenVal.dval = d;
break;
}
}
};
Token ZERO_TOKEN(Token::TokenType::INT, 0);