Bonjour,
J'aimerais, dans une classe template, déclarer que la classe du paramètre template est amie.
Exemple :
Mais le compilateur fait la tête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #include <iostream> //------------------------------------------------------------------------------ template<class T> class A { friend class T; // problème ici private: void f( const T& t ) { t.g(); } }; // class A //------------------------------------------------------------------------------ class B { friend class A<B>; public: void h() { A<B> a; a.f( *this ); } private: void g() const { std::cout << "ok" << std::endl; } }; // class B //------------------------------------------------------------------------------ int main() { B b; b.h(); return 0; }
Est-ce que ce que je veux faire est faisable ou dois-je trouver une autre solution ?Envoyé par g++
Merci
Partager