varsayalım yabancı parametre paketten alınan bağımsız değişken türleri ile bir işlev bildirilmesi böyle çeşitli şekillerde bir TypeList
.Ben <pre><code>template<typename... Types> struct TypeList {}; </code></pre> <p></p> Şimdi başka sınıfta ben üretebilir tipi listesinin çeşit
template<class T> struct MyClass {
using MyList = TypeList<T, typename Something<T>::type, SomethingElse>;
// ...
};
Bu tür listeden çıkarılan argüman türleriyle bir yöntemi nasıl bildirebilirim? Ben MyList = TypeList<int, float, const char*>
set Örneğin, ben
void my_method(int, float, const char*)
ilan edilmesi için bir yöntem diliyorum.
argümanlarını sınırlamak için
static_assert
vestd::is_same
kullanabilirsiniz bilinmeyen imzanın bir işlevi ile (örneğin: void my_method (T0, T1, T2, ... TN) 'N = = büyük) ile ne yapmalı? –@ DieterLücking Çok sayıda şey! (Bu sorulan soru ile alakasız) –