0
テンプレート型の2つのイテレータを使用する関数を作成しようとしています。この関数は、イテレータの間隔に含まれるすべての奇数の値を返します。私は、2番目のtypename T2を作成しようとし、それを "??"コードスニペットでC++のテンプレート関数itteratorをテンプレートとし、イテレータの型を持つベクトルを返します
template <typename T1>
std::vector<??> odd(T1 start,T1 end){
std::vector<??> result;
while(start++!=end){
if(*result % 2 == 1){
ans.push_back(*start);
}
}
return result;
}
int main(){
int a[6] = {1,2,3,4,5,6};
udda(std::begin(a),std::end(a));
}
私は、イテレータと同じクラスのベクトルを作成して返したいとします。これは可能ですか?
私はdecltypeとイテレータをデリファレンスを使用しようとすると、私は、コンパイルエラーを取得しますか? –
@ JakobSvenningsson:申し訳ありませんが、remove_reference_tも必要です。 –
答えを修正し、ワンドボックスの例を追加しました。 –