Switch nur mit int
-
Laut Borland Hilfe:
KategorieAnweisungen
Syntax
switch ( <switch_variable> ){
case<konstantenausdruck>
: <anweisung>; [break;]
.
.
.
default : <anweisung>;
}Beschreibung
[...] Dabei muß<konstantenausdruck> vom Typ int
sein und einen innerhalb der switch-Anweisung nicht mehrfach vorkommenden Wert haben.
[...]Und das Beispiel ist mit einem Char-Typ. Mit welchen Typen funktioniert die switch Anweisung noch ??
FGGF
<edit>Zitate bitte auf das notwendigste beschränken. Danke.</edit>
-
Meines Wissens nur mit int und char (BYTE).
Übrigens: Die 5km Text hättest Du Dir sparen können, der letzte Satz hätte auch gereicht.
-
Ein Char enspricht 1 Byte, numerische Wert kann natürlich jederzeit in einen grösseren Wert geschrieben werden (was hier durch einen impliziten Cast geschieht.)
In sofern also kein Grund verrückt zu spielen.-junix
-
hallo,
in c++ kann in einem switch jeder ordinale wert verwendet werden, also z. b. auch eigene typen wie etwa
enum Test { Tag1, Tag2, Tag3, Tag4 }; void __fastcall TForm1::Button1Click(TObject *Sender) { Test test; switch (test) { case Tag1: ... break; case Tag2: ... break; case Tag3: ... break; case Tag4: ... ; } }
mfg
murph
-
dies wurde doch schon gesagt ...
enum hat intern die werte 1....2....3
also sind es ebenfalls zahlen die dort in dem switch stehen.
-
ganzzahlige konstanten.
mir fallen da ein
char, short, int, long, long long und enum.
und natürlich die ganzen typedefs wie size_t.