gpt4 book ai didi

c++ - 声明一个集合 C++

转载 作者:行者123 更新时间:2023-11-28 03:17:30 27 4
gpt4 key购买 nike

在这里声明一个集合有什么问题,这是我教授的代码。

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:\users\sam\dropbox\compiler project 2\compilerproject2\lex\imp.h(39): error C2473: 'stmtBeginTokens' : looks like a function definition, but there is no parameter列表。

我的教授使用 c++11 而我使用的是旧版本,这是问题所在吗?我阅读了引用资料,但它似乎过于复杂和令人困惑。

谢谢!

最佳答案

你必须使用 C++11 来编译它,它使用 initializer_list .

set<Token> stmtBeginTokens { ...
^ initializer_list (since C++11)

如果您的编译器支持 C++11,请使用 -std=c++11 编译选项 (gcc)。

关于c++ - 声明一个集合 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383615/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com