Ce simple code ne passe pas sous VC++6:
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
23
24
25 template <int i> struct metafunc_log2 { enum { value=1+metafunc_log2< (i>>1) >::value }; }; template <> struct metafunc_log2<1> { enum { value=0 }; }; template<typename UI> struct serializable_type { enum { bytes=sizeof(UI), bits=bytes*8, log2=metafunc_log2<bytes>::value }; }; int main(int argc, char* argv[]) { int log2=serializable_type<unsigned short>::log2; int bytes=serializable_type<unsigned short>::bytes; int bits=serializable_type<unsigned short>::bits; return 0; }
..\serial.h(16) : fatal error C1001: INTERNAL COMPILER ERROR
Est-ce peine perdue ou est-il possible de le contourner en augmentant la pile d'exécution ou autre optio du compilo ?
Merci.
Partager