
Envoyé par
ptyxs
Eh bien, peut-être m'étais-je enthousiasmé un peu vite à propos de l'article donné plus haut par
nouknouk
http://www.codeguru.com/cpp/cpp/cpp_...cle.php/c4143/
La solution ultime proposée par l'auteur, est, si je ne me trompe :
1 2 3 4 5 6 7 8 9 10 11
| template <typename T>
class MakeFinal
{
private:
~MakeFinal() { };
friend T;
};
class FinalClass : virtual public MakeFinal<FinalClass>
{
}; |
mais en définitive chez moi sous g++ ça ne compile pas :
1 2 3 4 5
|
example.cpp:6: error: a class-key must be used
when declaring a friend
example.cpp:6: error: friend declaration does not
name a class or function |

As-tu essaye ou encore
typename friend [class] T;
? Dans tous les cas, il faut soit n'allouer que sur le tas, soit se trainer une vtable...
Partager