在这里声明一个集合有什么问题,这是我的教授代码。声明一组C++
set<Token> stmtBeginTokens
{
Token::IF, Token::ID, Token::WHILE, Token::INPUT,
Token::OUTPUT, Token::EMPTYSTMT, Token::BREAK,
Token::RETURN, Token::HALT, Token::NEWLINE
};
后来(供参考):
bool isSTMTBegin(Token t)
{
return stmtBeginTokens.find(t) != stmtBeginTokens.end();
}
的误差为1> C:\用户\ SAM \保管箱\编译项目2 \ compilerproject2 \法\ imp.h(39):错误C2473:'stmtBeginTokens':看起来像一个函数定义,但没有参数列表。
我的教授使用c + + 11和我有旧版本,是这个问题?我阅读了参考资料,但看起来过于复杂和令人困惑。
谢谢!
是的,您应该使用C++ 11,这是自C++ 11以来支持的initializer_list。 – deepmax 2013-05-05 10:35:28
@MM .:做出答案;) – 2013-05-05 10:36:24