以下の汎用関数ではいくつかの問題があります。この関数は2つの反復子と1つの値を取ります。この関数は、2つのイテレータ間を反復し、値の出現をチェックし、出現を数えます。これは、試験問題の一部だ汎用関数の呼び出しに一致する関数がありません
no matching function for call to 'count_c(int, std::vector::iterator, std::vector::iterator)'
template<typename Container>
int count_c(Container i, typename Container::iterator &start, typename Container::iterator &end){
typedef typename Container::iterator Iter;
int count;
for(Iter p = start; p != end; p++){
if((*p) == i){
count = count + 1;
}
return count;
}
int main(){
vector<double> myv;
myv.push_back(9);
myv.push_back(10);
count_c(9, myv.begin(), myv.end());
return 0;
}
:
Write a generic function count which:
Takes as parameters a value and two iterators of a container (where to start from and where to finish in the container).
It uses the iterators to go through the elements of the container and count the occur- rences of the value in the container.
Finally, it returns the number of occurrences of the value it has found.
2回の反復子が必ずしもコン tainerの開始によって返されるものと同じではありませんが、私は次のエラーを取得します()およびend()メソッドを使用します。
これは[タグ:宿題]です! :( – Xeo
'count'を初期化することを忘れないでください! – Johnsyweb