为什么我会收到错误:"与 std 中的操作员>>不匹配"?
Why am I receiving an error: 'No match for operator >> in std'?
我似乎不明白为什么我会收到以下代码的错误。我尝试重写代码,但它似乎没有纠正问题。它不应该给我一个我可以看到的错误。
#include <iostream>
using namespace std;
int main()
{
int month[12] = {0, 31, 60, 91, 121, 152, 182, 213, 243, 274, 305, 335};
int year, dayNumber, day;
cout<< "Please enter the month, by numerical value:";
cin >> month;
cout<<"Please enter the day, by numerical value:";
cin >> day;
cout<<"Please enter the year, by numerical value:";
cin >> year;
month
是一个数组,所以它不支持像cin >> month;
这样的语法
根据逻辑,我认为您需要一个不同的月份编号变量,从 1 到 12。
int month_start_days[12] = {0, 31, 60, 91, 121, 152, 182, 213, 243, 274, 305, 335};
int year, dayNumber, day, month;
cout<< "Please enter the month, by numerical value:";
cin >> month;
运算符
>>
不会重载数组。
int month_index;
cin >> month_index;
此操作失败,因为月份是一个数组
cin >> month;
cin >> month;
导致错误,你不能这样输入数组。
您可能想要的是使用单独的可输入month
输入。
这作为一个简单的示例(仅当您希望修改数组时(:
std::cin >> month[0]; // first element
具体来说,在此状态下,您只能访问范围内的某个索引。
相关文章:
- <<操作员在下面的行中工作
- EASTL矢量<向量<int>>连续的
- C++ 与操作员不匹配<<
- 操作员C++的模棱两可的过载
- C++中>>操作员过载时出现问题?
- NaN 上的宇宙飞船操作员
- 比根<操作员
- SFINAE不能防止模棱两可的操作员过载吗?
- 什么是现实中的"endl"(或任何输出操纵器)?它是如何实现的,它如何与操作员<<一起工
- 为什么"delete"操作员给我访问权限冲突
- 为什么使操作员成为新的专用会打破 std::shared_ptr?
- 在这种情况下是私有的吗?试图使操作员<<过载
- C++操作员过载>>
- 是否有 C++20 浮点数的包装器,使我能够默认宇宙飞船操作员?
- 与异常处理程序中的操作员<<不匹配
- 复印作业操作员说明
- 友谊和操作员+=重载
- >操作员在比较两个C++容器时会怎么做?
- 与操作员比较两个计时时间点
- C 操作员&gt;&gt;与突变器过载