我有一個可變參數模板類中給出的參數包,並且想要提取第一個類型。是否有可能獲得第一類參數包在單線?
目前我這樣做,它工作正常,但有點麻煩。是否有可能做同樣的事情更簡單?應該將FirstEntityType
定義爲EntityTs
中的第一種類型。請注意,我想保留類模板的簽名。我知道有可能寫template<typename FirstEntityType, typename... OtherEntityTypes>
,但這是我不想做的事情。
template<typename... EntityTs>
class EntityContext
{
template<typename T, typename ... Ts>
struct K {
using type = T;
};
using FirstEntityType = typename K<EntityTs...>::type;
// ...
}
這是SFINAE友好,如果是在C++的是什麼版本? – Yakk
@Yakk我們不是在緊急的情況下,所以沒關係? – Barry