Méphistophélès
Si la solution ne résout pas votre problème, changez le problème...
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Oui, car sémantiquement c'est valide, ca ne brise aucune règles qui pourraient empêcher la compilation mais regarde ce code.
Il ne va pas compiler, car la référence sera sur un objet temporaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class A { A(int){/*...*/} A(A& a){/*...*/} }; int main() { A aa=5; // <=> A aa(A(5)). }
Avec une référence const, ca passe.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
Pas de cours, non, je ne sais plus où j'avais trouvé la solution à l'époque où j'en avais eu besoin. je suppose qu'une recherche approfondie sur google sur friend template doit pouvoir ramener quelque chose d'intéressant.avec cette déclaration, le friend est valide pour n'importe quel angle template ?
aurais-tu un que c'est une cours traitant ce point, je souhaiterais approfondir .
Par contre, la première réponse à ta question est oui, ça fait en sorte que n'importe quel angle template est friend. C'est il me semble ce que tu cherchais à faire
Bonjour, bon, j'ai eu une petite coupure, mais j'ai enfin pu tester cette solution:
Sous gcc (via code::blocks), j'ai, uniquement lorsque j'instancie la classe, une erreur sur cette ligne:il me dit quelque chose du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part template<int> friend class angle;auriez vous une idée ?redefined parameter int 'cycle' as int <Anonymous>
J''instancie la classe de cette façon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part angle<100> a;
merci
Méphistophélès
Si la solution ne résout pas votre problème, changez le problème...
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Et avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part template <int N> friend class angle<N>;
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
ça ne marchait pas non plus, mais j'ai trouvé d'ou venait mon problème ><'
j'avais redéfini le int en unsigned int, d'ou le conflict .
je vais me faire fouetter pour la peine
enfin, bon, après un certain temps, ce sujet est
A propos, cette astuce devrait être ajoutée à la faq non ?
Merci à tous
Méphistophélès
Si la solution ne résout pas votre problème, changez le problème...
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager