C ++输入/输出错误

时间:2018-02-04 09:10:15

标签: c++ c++11

#include<iostream>
using namespace std;

struct arr{
    int n[100];
    int array[99];
};


int main(){
    int t,i=0,temp1[10],temp2[10],c1=0,c2=0;
    arr A[100];
    cin>>t;
    cout<<endl;
    if(t>=1 && t<=100)
    {
        while(i<t)
        {
            cin>>A[i].n;
            if(A[i].n%2==0)
            {
                for(int j=0;j<A[i].n;j++)
                {
                    cin>>A[i].array[j];
                }
            }
            else 
            {
                cout<<"\n Program Terminated";
                break;
            }
            cout<<endl;
            i++;
        }
    }
    else
       cout<<"Program terminated";
    return 0; 
} 
  

块引用

这是我写的代码但是收到错误 - [错误]不匹配&#39;运算符&gt;&gt;&#39; (操作数类型是&#39; std :: istream {aka std :: basic_istream}&#39;和&#39; int [100]&#39;) 这是我第一次遇到这样的错误

1 个答案:

答案 0 :(得分:0)

一个猜测,但我认为是正确的。错误在这里

struct arr
{
    int n[100];
    int array[99];
};

你真正要说的是

struct arr
{
    int n;
    int array[99];
}; 

即。在代码中n是数组中元素的数量。所以n不应该是一个数组,它应该是一个整数。

选择更好的名称n当然也是个好主意。如果您将其命名为size,那么情况会更加清晰,甚至对您自己而言。