Bir liste türünü, listenin olması gereken argüman türünü geçmek zorunda kalmamanın bir yolu var mı, sadece ilk eleman türünden çıkar.Variadic Şablon için Deduce Bağımsız Değişken Türü?
template<typename T, T... Args>
struct Calc
{
// do stuff with Args
};
// Usage:
Calc<int, 1, 2, 3>::value;
typename<T... Args> Calc { }; // error T undefined
// Desired:
Calc<1, 2, 3>::value; // auto deduced T = int
Calc<1.0f, 2.0f, 3.0f>::value; // auto deduced T = float
İstenen davranışı elde etmenin bir yolu var mı yoksa türü bir parametre olarak eklemek zorunda mıyım?
Tanıtımı dynamic_cast <> kullanmayı deneyebilirsiniz. Bu, olası türlerin ne olduğunu biliyorsanız. – RockOnRockOut
Hayır, daha önce önerilmiş olmasına rağmen, bu tür bir kesinti henüz mümkün değildir: http://open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3601.html – Brian
Std olarak bildirme değeri :: common_type işe yarayabilir? –
mattnewport