-4

ベクトルを使用する必要がある場合と、通常の配列を使用する場合。また、私のコードの1つで、奇妙な問題を見つけました。

 class TwoTrains   
   {  
          public:  
          int pass(int t1, int t2, vector <int>);  
   };

int TwoTrains::pass(int t1, int t2, vector <int> times)  
     {  
         int size_of_array=(int)times.size();  
         for(int i=0;i<size_of_array;i++)  
         {  
              cout<<times[i]<<endl;  
         }  
         return 0;  
     }  

これはコンパイルされますが、これを使用するとエラーが発生します。なぜ-

 for(int i=0; i< times.size();i++)    
4

1 に答える 1

6

vectorあなたが望むものです。プレーンCユーザーに配列を提供します。

for(int i=0; i< times.size();i++)    

エラーは発生しませんが、警告が表示されます(との比較signedunsigned。使用する

for(size_t i=0; i< times.size();i++)  

また

for(int i=0; i<(int) times.size();i++)  

インデックスは必要ないので、0A0Dが通知するように、イテレータを使用します。

for(vector<int>::iterator it = times.begin(); it!=times.end();++it){
    cout<<*it;
}

あるいは

for(int t: times){
    cout<<t;
}

C++11を使用

于 2012-07-10T20:17:41.007 に答える