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 :
Build Solution...
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; }
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
Partager