このように動作する関数を作成するにはどうすればよいですか? 戻り値の型を正しく宣言できないようです。
template <typename C, typename T0, typename T1>
typename C<T1>
convert_container(const C<T0>& container, T1 value) {
C<T1> new_container;
// Do some stuff...
return new_container;
}
std::vector<int> vec0;
const auto& vec1 = convert_container(vec0, float(2.0f)); // Produce a vector of floats
std::list<int> lst0;
const auto& lst1 = convert_container(lst0, float(2.0f)); // Produce a list of floats