Bonjour à tous,
J'ai pondu une structure comme ceci :
Ensuite à différents endroits, dans des headers :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 template<int I> struct GetValue { static const int value; };
Le soucis c'est que plusieurs fichiers *.cpp ont besoin de ces spécialisations, et autant sous Windows ça passe correctement, qu'avec g++ le linker râle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 template<> const int GetValue<1>::value = 14; template<> const int GetValue<2>::value = 6; template<> const int GetValue<3>::value = 23; etc.
Que puis-je faire dans ce cas ?lib.a (obj1.o):(.rodata+0x448): définitions multiples de « GetValue<1>::value » lib.a (obj2.o):(.rodata+0x43c): défini pour la première fois ici Et ce pour toutes les valeurs de <I> que j'ai pu spécialiser
Merci à vous,
A bientôt
Partager