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
scroll top