Ik heb hier al iets gevonden:
Maar nu
* Conversie KString -> char* bestaat...
* .Mid pakt vanaf het param1-ste character tot het param1 + param2 character & returned KString
* Kstring(char *) is gedefined...
En natuurlijk de fout:
cbeest.cpp(7) : error C2450: switch expression of type 'class KString' is illegal
Ambiguous user-defined-conversion
cbeest.cpp(
: error C2051: case expression not constant
cbeest.cpp(9) : error C2051: case expression not constant
cbeest.cpp(10) : error C2051: case expression not constant
cbeest.cpp(11) : error C2051: case expression not constant
cbeest.cpp(13) : warning C4065: switch statement contains 'default' but no 'case' labels
C++:
1
2
3
4
| #define sswitch(a) {char* _p = a; if (0) #define scase(x) } else if ( !stricmp(_p, x) ) { #define sdefault } else { #define sendswitch } |
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| char *psz = ...; sswitch( psz ) { scase( "geval1" ) // code voor geval 1 scase( "geval2" ) // code voor geval 2 // etc sdefault // default code } sendswitch |
Maar nu
C++:
1
2
3
4
5
6
7
8
9
10
11
| Integer CBeest::Getvariable ( KString CreatureName ) { switch ( CreatureName.Mid( 0, 3 ) ) { case "flo": return Var1; case "poe": return Var2; case "qua": return Var3; case "tro": return Var4; default: return 0; } } |
* Conversie KString -> char* bestaat...
* .Mid pakt vanaf het param1-ste character tot het param1 + param2 character & returned KString
* Kstring(char *) is gedefined...
En natuurlijk de fout:
cbeest.cpp(7) : error C2450: switch expression of type 'class KString' is illegal
Ambiguous user-defined-conversion
cbeest.cpp(
cbeest.cpp(9) : error C2051: case expression not constant
cbeest.cpp(10) : error C2051: case expression not constant
cbeest.cpp(11) : error C2051: case expression not constant
cbeest.cpp(13) : warning C4065: switch statement contains 'default' but no 'case' labels
[ Voor 25% gewijzigd door Verwijderd op 05-03-2003 14:03 . Reden: fout vergeten ;) ]