c++ - 1 智能感知 : no suitable constructor exists to convert from "bool" to "std::basic_string<char, std::char_traits<char>, std::allocator<char>>"

标签 c++ string validation

嘿,我在尝试验证字符串时遇到此错误。基本上我希望游戏在用户输入有效名称之前不要继续。 John、Mary 等...而不是数字 123434 等...

这是我的代码:

string input1 ="What is your name ?\n";
    string name = getString(input1);//The error is in the getString.

bool getString(string str)
{
  for (int i = 0; i < str.size(); i++)
  {
   if (isdigit(str[i]))
      return false;
   }
  return true;
}

最佳答案

 string name = getString(input1);//The error is in the getString.

您不能将 bool 转换为字符串或将 bool 转换为 string,没有隐式转换。也许你真的想返回一个字符串。我不确定你将函数命名为 getString,但你返回了一个 bool

除非您手头有一份姓名列表并将输入与数据库、文件等进行比较。比较输入可能很困难。 如果用户输入 Dsjdksdksdksdskd 会怎样?

帮助/回答您的问题:

if(isDigitInString(name))
{

}

关于c++ - 1 智能感知 : no suitable constructor exists to convert from "bool" to "std::basic_string<char, std::char_traits<char>, std::allocator<char>>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12961205/

相关文章:

c++ - 谁能给我解释一下这段代码

c++ - 如何在 C++ 中将十六进制字符串转换为字节字符串?

java - 比较 ArrayList 中的列表

java - Spring 批处理中的验证步骤

java - JSR 349 验证 : ExecutableValidator. 静态方法的 validateParameters

c# - 针对数据库的 ASP.NET Core 自定义验证

c++ - 强制编译器为模板类的所有成员函数生成代码?

c++ - Windows C++ 上的 std::fstream 读取文件

java - 在类中创建字符串,java

c++ - 在多个键下将项目存储在 map 中