3

我似乎无法理解为什么我收到以下代码的错误。我已经尝试重写代码,但似乎并没有解决问题。它不应该给我一个我可以看到的错误。

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

5 回答 5

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;
于 2013-10-01T16:24:50.820 回答
4

运算符>>没有为数组重载。

int month_index;
cin >> month_index;
于 2013-10-01T16:24:17.253 回答
2

这失败了,因为月份是一个数组

cin >> month; 
于 2013-10-01T16:24:05.220 回答
2

cin >> month;

导致错误,您不能这样输入数组。

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

于 2013-10-01T16:24:09.653 回答
2

这是一个简单的示例(仅当您希望修改数组时):

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

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

于 2013-10-01T16:25:17.623 回答