gpt4 book ai didi

c++ - 根据另一个字符串创建由空格 (_) 和空格组成的字符串

转载 作者:行者123 更新时间:2023-11-30 05:31:48 24 4
gpt4 key购买 nike

我非常接近完成一项任务,我被指示创建一个命运轮游戏。

我需要做的最后一件事是,让游戏板打印正确数量的空格破折号,而不是字母猜到了。

用户在游戏开始时输入了一个字符串,假设是"Hello World"

我希望此函数创建一个新的字符串,即"----- -----"

我想,我所拥有的会起作用,但是当我尝试编译时,我得到了从 const char*char 的无效转换。

这是我所拥有的:secret 是用户为游戏输入的 stringguess 是一个字母一位玩家猜测,hidden 是我尝试创建的带有破折号和空格的新字符串。

void show_board(string &guess, string &secret, string &hidden)
{
for(int q=0; q < secret.length ; q++)
{
if(secret.at(q) == " ")
{
hidden.at(q) == " ";
}
else
{
hidden.at(q) == "-";
}
}
}

我刚刚意识到,if 部分确实是多余的,但我的问题仍然存在。

所以对于 for 循环,我现在有:

for(int q=0 ; q < secret.length() ; q++)
{
if(secret[q]==' ')
{
hidden += " ";
}
else if(guess == secret[q])
{
hidden += guess;
}
else
{
hidden += "-";
}
}

而且,我在 guess 行上收到一个错误,它说:

error no match for 'operator==' in 'guess == ((std::string*)secret)->std::basic_string<_CharT, _Traits, _Alloc>::operator[] [with _CharT = char, _traits = std::char_traits, _Alloc = std::allocator](((long unsigned int)q))'

最佳答案

尝试将双引号改为单引号。双引号用于字符串文字,但在这种情况下您要与字符进行比较。

关于c++ - 根据另一个字符串创建由空格 (_) 和空格组成的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35401740/

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