为什么我收到错误:'不匹配运营商>>在std'?

时间:2013-10-01 16:22:11

标签: c++ arrays

我似乎无法理解为什么我收到以下代码的错误。我试过重写代码,似乎没有纠正问题。它不应该给我一个我能看到的错误。

#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;

5 个答案:

答案 0 :(得分:8)

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;

答案 1 :(得分:4)

数组没有重载运算符>>

int month_index;
cin >> month_index;

答案 2 :(得分:2)

此操作失败,因为month是一个数组

cin >> month; 

答案 3 :(得分:2)

cin >> month;

导致错误,你无法输入那样的数组。

您可能想要的是使用单独的变量进行month输入。

答案 4 :(得分:2)

这只是一个简单的例子(只有当你想要修改数组时):

std::cin >> month[0]; // first element

具体来说,您只能在此状态下访问范围内的某个索引。