2016-04-23 10 views
0

私はペアのベクトルを反復処理しようとしていますし、私はこれを行うことにより、ペア内の要素の一つをインクリメントする必要があります。インクリメント値

for (std::vector<std::pair<Process *, int> >::const_iterator it = process.begin(); it != process.end(); it++) { 
     if (queue.size() == 0) 
      break;                                             
     while (queue.size() > 0 && it->second < threadsPerProcess * 2) { 
      it->first->send(queue.front()); 
      queue.pop_front(); 
      ++it->second; // value i am trying to increment 
     } 
} 

誰かが私がやっているものを私に言うことができます違う?

答えて

1

変更この:これに

for (std::vector<std::pair<Process *, int> >::const_iterator it = process.begin(); it != process.end(); it++) { 

for (std::vector<std::pair<Process *, int> >::iterator it = process.begin(); it != process.end(); it++) { 

あなたが実際にあなたが反復処理されている要素を変更するように。

0

const_iteratorを使用しないでください。コンテンツを変更する場合は、iteratorを使用してください。

関連する問題