Überlauf in Integer-Ausdruck
-
Hallo zusammen,
ich hoffe Ihr könnt mir helfen.
#define MYTESTDEFINE 0x100000000000 void Funktion(unsigned __int64) { ... } Funktion(MYTESTDEFINE);
Beim Aufruf von Funktion schmeißt der Compiler die Warnung "Überlauf in Integer-Ausdruck". Ich denke mal der Interpretiert die Hex Zahl als int. Kann ich dem Compiler irgendwie mitteilen das es sich bei der hex zahl um ein __int64 handelt?
Danke
-
Probier mal das suffix 'ul' an die zahl zu hängen.
-
Danke für die schnelle Antwort.
Leider funktioniert das nicht. Hat aber trotzdem geholfen. Dadurch hatte ich was womit ich Google füttern kann.
LL am Ende funktioniert.
Ich denke mal UL für "unsigned long" und LL für "long long"
Gibt es zufällig irgendwo eine Liste indem solche fälle beschrieben sind.
Es gibt ja auch noch L"Test" für wchar_t und noch viele weitere.
-
Stimmt es war ll (bzw ull)
http://en.cppreference.com/w/cpp/language/integer_literal