Surcharge de conflit avec les types de vecteurs __M128, __M256 dans GCC
-
30-10-2019 - |
Question
J'ai commencé à jouer avec des instructions AVX sur le nouveau processeur Sandy Bridge d'Intel. J'utilise GCC 4.5.2, TDM-GCC 64bit Build of MingW64.
Je veux surcharger l'opérateur << pour Ostam pour pouvoir imprimer les types de vecteur __m256
, __m128
etc à la console. Mais je rencontre un conflit de surcharge. La 2ème fonction du code suivant produit une erreur "entre en conflit avec la déclaration précédente void f(__vector(8) float)
":
void f(__m128 v) {
cout << 4;
}
void f(__m256 v) {
cout << 8;
}
Il semble que le compilateur ne peut pas distinguer les deux types et les considère tous les deux f(float __vector)
.
Y a-t-il un moyen de contourner ceci? Je n'ai rien pu trouver en ligne. Toute aide est grandement appréciée.
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow