将basic_string转换为bool错误
C++ Error converting basic_string to bool
你好,这可能是一个简单的问题,我很抱歉为这样一个简单的问题消耗你的时间,但我正在努力学习c++。下面是我在学习过程中正在练习的一个小程序。我在代码中遇到了一个障碍,因为当我执行它时,我得到以下错误:"在函数'int main()':
20:19: error: no match for 'operator!(操作数类型为"const string{又称const std::basic_string}")20:19:注:候选人是:20:19: note: operator!(bool)20:19:注意:参数1从'const string{也称为const std::basic_string}'到'bool'的转换未知
下面你会发现我所有的代码谢谢你的帮助!# include# include
using namespace std;
int main()
{
const string go = "tomato";
string Answer;
cout << "What is your friends favorite food?" << endl;
cout << "ENTER HERE:" << " " << flush;
cin >> Answer;
if(Answer == go)
{
cout << "Congratulations you know your friend!!!" << endl;
}
while(Answer =! go)
{
cout << "What is your friends favorite food?" << endl;
cout << "ENTER HERE:" << " " << flush;
cin >> Answer;
cout << "You do not know your friend please try again!!!" << endl;
}
return 0;
}
Answer =! go
表示Answer = (!go)
。go
的否定没有定义,因为go
不是bool。
你可能想要比较的是'not equal',也就是!=
。两个字符的顺序有意义。
不等式比较运算符是!=
,而不是=!
把你的代码改成这样(特别是把=!
改成!=
using namespace std;
int main()
{
const string go = "tomato";
string Answer;
cout << "What is your friends favorite food?" << endl;
cout << "ENTER HERE:" << " " << flush;
cin >> Answer;
if(Answer == go)
{
cout << "Congratulations you know your friend!!!" << endl;
}
while(Answer != go)
{
cout << "What is your friends favorite food?" << endl;
cout << "ENTER HERE:" << " " << flush;
cin >> Answer;
cout << "You do not know your friend please try again!!!" << endl;
}
return 0;
相关文章:
- 显式 std::exception_ptr 转换为 bool 不存在.VS2010 错误?
- 错误:不能使用"显式"说明符声明 bool'
- 为什么更改包含 psapi.h 的顺序会产生编译错误?(标识符 BOOL 未定义)
- 从标准::未来<void>到非标量标准::未来<bool>引发的错误转换
- 错误:数组下标的类型"const bool[int]"无效
- 'void *' 'void (*) (bool)' 指针使用 c ++ 编译器在 C 中编译文件的错误
- C bool表达式作为函数参数调用错误的超载
- 错误:(49) 在 Android 中使用 OpenCV 原生时未定义对'cv::Stitcher::createDefault(bool)'的引用
- 返回"Cannot convert from 'std::ofstream {aka std::basic_ofstream<char>}' to bool"错误
- boost::variant 当 bool 显示为可能的类型时,会给出错误的结果
- 如何克服以下有关 std::vector 的错误<bool>?
- 错误:无法将"dirent*"转换为"search_directories(std::string, std::list<start_tournament_info_t*>&, bool)
- 引用 std::atomic <bool>的已删除函数错误
- Typo:bool to int conversion诱导的std :: ifstream在Linux下的错误
- C++错误:类型"bool"的标量初始值设定项两边的大括号
- 指向 std::vector 元素时编译器错误<bool>?
- 错误 C2440: 'type cast':无法从 'bool' 转换为 'CString'
- 在类方法上使用指针:表达式的类型必须为bool错误
- 模板编程中的"Cannot convert 'MyClass' to 'bool'"错误
- 将basic_string转换为bool错误