私は少しJavaのバックグラウンドを持つC++を学ぼうとしており、2つのリストの共通部分を返すコードを書こうとしています。概念的には正しい考えを持っていると思いますが、何もコンパイルされていないため、構文に問題があります。
これが私が思いついたコードです:
#include <iostream>
using namespace std;
#include <list>
template <typename Object>
list<Object> intersection( const list<Object> & L1, const list<Object> & L2){
std::list<Object> result;
int pos1 = 0;
int pos2 = 0;
while (pos1 < L1.size() && pos2 < L2.size()) {
if (L1[pos1] > L1[pos2]) {
pos1++;
} else if (L2[pos2] > L1[pos1]) {
pos2++;
} else {
result.push_back(L2[pos2]);
pos1++;
pos2++;
}
}
return result;
}
私が必要だと思うもの:イテレータ(リストにアクセスする方法が正しくないと確信しています)