Salut à tous,

j'aurai besoin de testeurs possédant visual c++ 2005 afin de tenter de compiler un petit programme.

La marche à suivre :
- Création d'un projet de type CLR Console Application
- Copie-collage de ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
 
using namespace System;
 
generic<typename T>
T Max(T A, T B )
{
    return A > B ? A : B;
}				
 
generic<typename T>
T Min(T A, T B )
{
    return A < B ? A : B;
}
 
int main(array<System::String ^> ^args)
{
    Console::WriteLine(Max(10,15));
    Console::WriteLine(Min(2,10));
    return 0;
}
Build Solution...

Et chez moi ... ca compile, et ca marche

Chez Farscape, erreur C2676

D'après Sutter, ce n'est pas possible à faire en .Net avec les générics. On ne peut pas comparer 2 types générics ainsi.
Une solution serait de passer par une condition sur un IComparable.

Sauf que ... chez moi, ca compile bien et le msil généré a l'air tout à fait correct.

J'aimerai que vous regardiez si ca compile chez vous et que vous me donniez vos versions de visual C++ (express, pro, team suite, etc ...)

Merci