【发布时间】:2016-04-04 10:06:45
【问题描述】:
enum symbol {Number, Letter, Open_Bracket, Closed_Bracket, Unknown}
struct token {
string s;
symbol v;
};
现在,我想编写一个函数,如果令牌 t 未知,则返回 false。我试过了
bool check(token &t)
if (t == Unknown)
return false;
但我知道这是错误的,因为 t 是一个标记,而 Unknown 是一个符号。我怎样才能使它们具有相同的类型?
我不能使用点符号,因为如果我使用
if (t.v == Unknown) return false;
我收到这条消息
multiple definition of 't'
(之前忘记添加函数参数了。)
【问题讨论】:
-
你的意思是写
if (t.symbol == Unknown)?