Fehler, Irrtümer, Fragen - Seite 2762
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
überprüft:
OK, funktioniert ohne jegliche Compiler-Warnungen
Danke
Sie werden lachen, aber auch das funktioniert ohne Warnung
Sie werden lachen, aber auch das funktioniert ohne Warnungen
Sie werden auch lachen, aber das ist der Weg zu UB und der Weg, um den kniffligen Bug bei den nächsten Builds zu bekommen :-)
int foo=-1;
uchar bar=(uchar)foo; // чему должен быть равен bar ?
überprüft:
OK, funktioniert ohne jegliche Compiler-Warnungen
Danke
Warum wird der ArrayInitialize-Aufruf in diesem Fall benötigt? Warum schreiben Sie nicht einfach uchar uc[16] = {0xFF}; ?
ArrayInitialize ist sinnvoll für dynamisch verteilte Arrays, während hier die Größe zum Zeitpunkt der Beschreibung bekannt sein sollte.
Sie werden lachen, aber auch das funktioniert ohne jede Warnung
es ist nicht lustig, es ist keine korrekte Initialisierung, was Sie vielleicht nicht verstehen, warum Sie es getan haben
es ist klar, dass das höchstwertige Byte beim Umwandeln in uchar abgeschnitten wird
Warum brauche ich ArrayInitialize Aufruf in diesem Fall? Warum schreiben Sie nicht einfach uchar uc[16] = {0xFF}; ?
ArrayInitialize ist sinnvoll für dynamisch verteilte Arrays und hier ist die Größe zum Zeitpunkt der Beschreibung vermutlich bekannt.
Funktioniert nicht
Druckt man sie aus, so ist das erste Element 255 und der Rest 0, 0, 0, ...
OK, funktioniert ohne jegliche Compiler-Warnungen
ohne Geisterbild ist normalerweise wie folgt
UPD nein, auch eine Warnung, ein solches Literal ist vom Typ ushortNoch einmal, unter gleichen Bedingungen...
Wieder einmal an Ort und Stelle...
Ich bin total verwirrt )
Es warnt vor Konstanten ab 128 und 0xFF, aber nicht vor int-Variablen mit denselben Werten.
Außerdem warnt es auch nicht vor der Konstante -1 int. Gibt es da eine Logik?
s.s. Ich denke, es ist verständlich mit -1, es ist auf jede vorzeichenlose durch max Wert nach den Regeln reduziert.ohne einen solchen Geist.
UPD nein, auch eine Warnung, ein solches Literal ist vom Typ ushort'\xFF'Wow... in 4 (gelegentlich geöffneten) Brötchen.
void OnStart()
{
ushort foo='\xFF';
}
PS/ wenn bei Gelegenheit jemand eine Website hat, geben Sie ihm einen Klaps auf die Hand.