J'ai un modèle de classe avec un paramètre de modèle de modèle et je veux déclarer ce paramètre (c'est-à-dire toutes ses spécialisations) en tant que friend
. Mais je ne trouve pas la syntaxe correcte.
template <template <class> class T>
struct Foo {
template <class U>
friend T; // "C++ requires a type specifier for all declarations"
template <class U>
friend struct T; // "declaration of 'T' shadows template parameter"
template <class U>
friend struct T<U>; // "cannot specialize a template template parameter"
pretty<please>
lets(be) friends T; // Compiler shook its standard output in pity
};
Comment puis-je déclarer un paramètre de modèle de modèle comme friend
?