次のコードが正常に機能する理由:
template <typename Set, typename Vector> void copySetToVector2(Set &s, Vector &v)
{
copy(s.begin(), s.end(), inserter(v, v.begin()));
}
int main()
{
set<int> s1;
s1.insert(1);
s1.insert(2);
s1.insert(3);
vector<int> v1;
copySetToVector2(s1, v1);
return 0;
}
しかし、テンプレート関数コンパイラで変数をポインターに変更すると、エラーが発生します。
'std::set< int >*' は、クラス、構造体、または共用体型ではありません
ここで何が問題なのですか?