【发布时间】:2014-04-11 09:40:57
【问题描述】:
我正在尝试设计一个可以检查输入错误的构造,因此我在一个测试程序中编写了两个布尔函数,其参数是字符串引用。我希望我的 if 语句能够评估单词的第一个函数更改部分,然后再次评估第二个函数更改单词,最后评估 && 以查看是否打印。但是,我的代码不会运行,并且当我尝试输出代码时,错误表明没有操作数与 cout 的
#include <iostream>
using namespace std;
bool changeString1(string &word){
word[0]='a';
return word[1]=='b';
}
bool changeString2(string &word){
word[2]='c';
return word[3]=='d';
}
int main(){
cout << "hello" << endl;
string word("cbad");
if(changeString1(word) && changeString2(word)){
cout << word << endl;
}
system("Pause");
return 0;
}
【问题讨论】:
-
#include <string> -
顺便说一句。使用
&&时,仅在左侧为真时才评估右侧。 -
“但是,我的代码不会运行,并且当我尝试输出代码时,错误提示没有操作数与 cout 的
-
自从发布这个问题后,我觉得我成长了很多:D
标签: c++ if-statement operator-precedence side-effects