C#: Int16 vs. Int32

Gast #4621913
Lesenswert?

Die Addition ergibt beim Kompilieren die Fehlermelung:

Der Typ 'int' kann nicht implizit in 'short' konvertiert werden. Es ist 
bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt 
eine Umwandlung.)

Warum? Muss alles in Int32 (dann funktioniert es) berechnet werden?

1
    Int16 i, t;
1
    t = i + 6;
#4621931
Lesenswert?

Peter II schrieb:
> Mark B. schrieb:
>> Übrigens ist es eine gute Idee zu erwähnen, um welche Programmiersprache
>> und um welchen Compiler es geht.
>
> Wie viele C# Sprachen kennst du, damit du dafür eine Unterscheidung
> brauchst?

Aie. Habe ich glatt das C# im Thread-Titel übersehen. Mea culpa.

Was ist das für ne komische Sprache, wo der Compiler deutsche Meldungen 
ausgibt? ;-)
#4622406
Lesenswert?

Mark B. schrieb:
> Peter II schrieb:
>> macht das nicht sogar der GCC?
>
> Bei mir noch nie. Weder unter Linux noch mit MinGW unter Windows.
>
> Vielleicht wenn man es explizit so einstellt. Aber warum sollte man das
> wollen? Das machtt es nur schwerer, im Internet nach Beispielen zu
> suchen wo jemand das gleiche Problem hatte wie man selbst.

OT: Das wird beim Bauen übergeben bzw. muss configure --disable-nls 
explizit übergeben werden. "The --enable-nls option enables Native 
Language Support (NLS), which lets GCC output diagnostics in languages 
other than American English. Native Language Support is enabled by 
default if not doing a canadian cross build."

Etwas weniger OT:
Go hat das eleganter gelöst: Typisierte und untypisierte 
Konstanten/Literale
https://blog.golang.org/constants
#4622643
Lesenswert?

Arc N. schrieb:
>> Vielleicht wenn man es explizit so einstellt. Aber warum sollte man das
>> wollen? Das machtt es nur schwerer, im Internet nach Beispielen zu
>> suchen wo jemand das gleiche Problem hatte wie man selbst.
>
> OT: Das wird beim Bauen übergeben bzw. muss configure --disable-nls
> explizit übergeben werden.

Wenn man denn partout will, dass der Compiler es nicht mal kann. In der 
Regel reicht es aber aus, die Sprache auf Englisch zu stellen, wenn man 
keine übersetzten Texte will.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren