c++ - 我正在为我祖母的生日开发一个 C++ 程序,但是我不断收到错误代码:错误 C2451
问题描述
我只上过一门 C++ 课,并打算用不同的东西来填充我奶奶的孩子的名字,我目前所拥有的只是填充物。但是,当我尝试通过将字符串类型更改为整数来调试自己时,就像它告诉我的那样,我只会得到新的错误代码。这是我目前所拥有的,该程序非常简单:
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
string name;
string main() {
bool done = false;
while (!done) {
cout << "Enter one of your children's names, or press 'q' to quit" << endl;
cin >> name;
if (name = "q") {
done = true;
break;
}
else if (name = "Jason") {
cout << "Jason is your eldest son" << endl;
}
else if (name = "Aaron") {
cout << "Aaron was your second child" << endl;
}
else if (name = "Mandy") {
cout << "Mandy is your only girl" << endl;
}
else if (name = "Adam") {
cout << "Adam came after Mandy" << endl;
}
else if (name = "Ben") {
cout << "Ben is your youngest" << endl;
}
else {
cout << "That name does not exist for your children: try Jason, Aaron, Mandy, Adam, or Ben instead" << endl;
}
}
}
解决方案
在您的if and else if
语句中,您需要更改==
而不是=
(assignment) 以检查两个操作数的值是否相等。另外,在您的String main()
我建议将其更改为:int main()
推荐阅读
- r - 随机森林每次运行混淆矩阵的准确性结果在 R 中发生变化。如何确保测试数据的准确性
- java - Java根据特定列更改数组元素顺序
- c# - 为什么在更新模型的子列表时,EF Core 在删除之前插入而不是先删除再插入?
- azure - 在 Azure 服务总线队列中检测相同的未处理消息
- python - 按颜色过滤一些轮廓 - OpenCV
- html - CSS:如何修复不尊重父 100vh 的 HTML 子元素
- javascript - 如何使用基于 JSON 的 jQuery 读取 JSON 文件并生成动态页面
- html - 如何在 HTML 表格中绘制下一个单元格的一半?
- git - 忽略除特定文件类型和一个具有特定名称的文件之外的所有内容
- jdbc - 是否存在已知问题:当用户为 JDBC 驱动程序设置 fetchSize 时,第一次检索速度较慢而后续调用速度较快?