c++ - 如何将字符插入集合?

标签 c++ c++11

我有一个以菜单开始的小游戏,玩家可以在 6 个选项中进行选择。玩家的决定将用 cin 写入 char 变量。这很好用,游戏从选项开始。 但是当玩家输入另一个值然后游戏出现错误时,游戏也会开始。 为了修复它,我想使用一个带有可能选项的字符集。但是在我尝试将值插入 set 变量的每一种方法中,我都会遇到编译器错误。

当我在声明时尝试初始化集合时,我得到“‘a’未在此范围内声明”:

set <char> Options {a,b};

如果我这样尝试,“没有匹配函数来调用 'std::set::insert(const char [2])'|”

set <char> Options {"a","b"};

当我这样做时,我也得到“‘a’未在此范围内声明”

set <char> Options;

int main()

Options.insert(a);

我也试过这个,但是我又得到“没有匹配的函数来调用'std::set::insert(const char [2])'”

set <char> Options;

int main()

Options.insert("a");

所以现在我很困惑。对于整数我没有问题,但是当我尝试将它用于字符时,我没有让它工作。

有人可以帮忙吗?

(这是我的第一个问题,我希望它表述得很好)

最佳答案

字 rune 字用撇号拼写:

set<char> Options {'a', 'b'};
//                 ^^^  ^^^

关于c++ - 如何将字符插入集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41861159/

相关文章:

c++ - Mac 和 Linux 上的 SDL IMG_Load() 为同一图像返回不同的 BitsPerPixel

c# - COM Interop 中内存释放的责任

c++ - clang 不编译我的代码,但 g++ 可以

c++ - 我应该像这样使用 constexpr 吗?

c++ - 使用 BCL 进行文件压缩

c++ - 邮寄消息 : How to post a message to a process that does not have a window?

c++ - 将QGLWidget绘制到QWidget中的特定矩形区域

c++ - 在 for 循环中处理复杂的 send recv 消息

c++ - 在抛出 'std::invalid_argument' what() : stoi 实例后终止调用

c++ - 我可以列表初始化一个只 move 类型的 vector 吗?