8
votes

Paramètre de modèle en tant qu'ami

en C ++ 03 Ce qui suit est illégal, bien que certains compilateurs le soutiennent.

template <class T>
class X
{
    friend T;
};


3 commentaires

ami est correct pour C ++.


amis est pour Facebook.


@Ken: Je suis content que ce ne soit pas pour l'émission de télévision XD


3 Réponses :


1
votes

Oui C ++ 0x permet à un paramètre de modèle d'être amis.

Eh bien, je me souvenais de me souvenir de le lire dans le brouillon avant, mais je ne pouvais pas trouver la référence..anyways @ la réponse de Praetorian cloué.


0 commentaires

13
votes

à partir de la section §11.3, 3 en N3291: xxx

donc il est légal en C ++ 11.


1 commentaires

Je suis très content ami Int; est ignoré :)



0
votes

Il est illégal en plaine C ++, mais il existe une solution de contournement simple xxx


2 commentaires

Travaille sur GCC mais pas sur VC2010 et Comeau


Ouais, essayé aussi sur Clang, n'a-t-il pas fonctionné :( - Apparemment, le standard interdit de s'améliorer les types Typef'D que le GCC ne vérifie pas. Cependant, il est autorisé à écrire ami t; qui GCC ne reconnaît pas, mais la collage fait.