OVH Cloud OVH Cloud

Bug de VC8? Specialisation de fonctions templates

4 réponses
Avatar
Patrick Laurent
Salut

Le code suivant compile avec GCC et Intel C++ Compiler pour Windows.
Mais Visual 8 beta 2 ne veut pas le compiler.
Il dit: ambiguous call to overloaded function

Qu'en dites vous?
Si c'est vraiment un bug de Visual (ça m'en a tout l'air), quelqu'un sait ou
je peux le poster à microsoft.

Pat

#include <iostream>
using namespace std;

template<class T> struct A { typedef int value_type; };
template<class U> struct B { typedef int value_type; };


template<class T> void f(const A<T > &x, typename A<T >::value_type v)
{ cout << "générale"<< endl; }
template<class U> void f(const A<B<U> > &x, typename A<B<U> >::value_type v)
{ cout << "spécialisée" << endl; }

int main()
{
//A<int> a; // marche
A<B<int> > a; // marche pas
f(a,1);
}

4 réponses

Avatar
adebaene
Salut

Le code suivant compile avec GCC et Intel C++ Compiler pour Windows.
Mais Visual 8 beta 2 ne veut pas le compiler.
Il dit: ambiguous call to overloaded function

Qu'en dites vous?


Il me semble aussi que c'est un bug (en tout cas, Comeau online accepte
le code).

Si c'est vraiment un bug de Visual (ça m'en a tout l'air), quelqu'un
sait ou

je peux le poster à microsoft.


http://lab.msdn.microsoft.com/productfeedback/

Arnaud

Avatar
Patrick Laurent
Merci pour vos réponses

Bug posté chez microsoft, avec un peu de chance un bogue de moins dans VC8
Avatar
Gabriel Dos Reis
"Patrick Laurent" writes:

| Salut
|
| Le code suivant compile avec GCC et Intel C++ Compiler pour Windows.
| Mais Visual 8 beta 2 ne veut pas le compiler.
| Il dit: ambiguous call to overloaded function
|
| Qu'en dites vous?

Je ne vois pas d'ambiguité dans l'appel.

-- Gaby
Avatar
Patrick Laurent
Tu as la référence du bug, que l'on puisse voter pour et suivre ce
que ca va donner comme correction?


J'y avais pas pensé (j'ai pas l'habitude de révéler les bugs de Visual à
Microsoft).
Merci de ta proposition, mais c'est plus la peine.
D'après la réponse, le bug n'existe plus dans leur dernière version interne.
J'espère qu'ils vont sortir une beta3, ou une gamma !

Pat