38
Je voudrais faire ce qui suit:modèle ami
template <typename T>
struct foo
{
template <typename S>
friend struct foo<S>;
private:
// ...
};
mais mon compilateur (VC8) étranglements sur elle:
error C3857: 'foo<T>': multiple template parameter lists are not allowed
Je voudrais avoir toutes les instanciations possibles de template struct foo
amis de foo<T>
pour tous T
.
Comment est-ce que je fais ce travail?
EDIT: Ce
template <typename T>
struct foo
{
template <typename>
friend struct foo;
private:
// ...
};
semble compiler, mais est-il exact? Les amis et les modèles ont une syntaxe très artificielle.
merci cela fonctionne. Oui c'est ce que je veux. –
pouvez-vous s'il vous plaît poster la section de référence à la norme où il est défini? –
En C++ 03 en 14.5.3.3 et 14.5.3.4, en C++ 11 vous devez lire la section Amis en 14.5.4 –