vector、deque、list などのさまざまなコンテナー タイプで使用でき、さまざまなデータ型 ( integers 、 double または string ) で呼び出すことができるテンプレート関数を作成したいのですが、検索しましたが見つかりませんでした答え、私はこのようにしてみましたが、エラーが発生しています:
#include <iostream>
#include <vector>
#include <list>
#include <deque>
#include <iterator>
#include <string>
using namespace std;
template <typename C>
void printvec(const C& numbers1)
//void printvec(container C<typename C::valuetype T>)
{
//C &numbers1;
for(auto i=0; i < numbers1.size(); ++i)
cout<<&numbers1<<endl;
//typename C<A>::iterator itr;
//for ( itr=numbers1.begin();itr != numbers1.end(); ++itr)
// cout<<*itr<<endl;
}
int main()
{
vector<int> vint{2,4,6,8,9,3};
vector<double> vdouble{5.8, 6.7, 7.3};
vector<string> vstring {"alex", "bbb", "cccc"};
list<int> ls{1,2,3,4,5};
printvec(vint );
printvec(vdouble);
printvec(vstring);
printvec(ls);
return 0;
}
それで、それを行う正しい方法は何ですか?