Est-il possible de déclarer une fonction de modèle en utilisant un pointeur de modèle de classe? Quelque chose comme ceci:C++ 11/14/17: pointeur de modèle de modèle en tant que paramètre de modèle
template <typename FirstType, typename ... TypesRemaining>
class MyClass
{
// ...
};
template <int n, template <typename FirstType, typename ... TypesRemaining> typename MyClass<FirstType, TypesRemaining...>::*ptr> myFunction() {
// ...
}
Est-il possible d'utiliser 'using' pour déclarer le type de pointeur? Quelque chose comme ceci:
template <typename FirstType, typename ... TypesRemaining>
class MyClass
{
// ...
};
template<typename FirstType, typename ... TypesRemaining>
using ptrMyClass = MyClass<FirstType, TypesRemaining...>*;
template <int n, template <typename FirstType, typename ... TypesRemaining> typename ptrMyClass<FirstType, TypesRemaining...> ptr> myFunction() {
// ...
}
Quel est le problème si vous essayez de le faire ce? – user0042
Tout le code ci-dessus ne compile pas. Je n'arrive pas à comprendre comment faire la bonne syntaxe pour atteindre quelque chose d'équivalent. – Aesope