die folgende Warnung bekommen:Freetype 2, Gebäude Visual Studio 2015
ttgload.c(1654): warning C4312: 'type cast': conversion from 'FT_UInt' to 'void *' of greater size
die eher merkwürdig erscheint.
Die Codezeile in Frage lautet:
if (FT_List_Find(&loader->composites,
(void*)(unsigned long)glyph_index))
und glyph_index
wird FT_UInt
erklärt.
FT_UInt
ist typedef unsigned int
so ist es eher seltsam, eine int
in eine void*
zu konvertieren.
Haben Sie Ideen, wie Sie mit dieser Warnung umgehen können?
Ich stimme zu, dass es in diesem speziellen Fall kein Problem gibt, aber die Warnungen sind trotzdem vorhanden. Eine Möglichkeit, diese wenigen Warnungen zu entfernen, ist das Ersetzen von "unsigned long" durch "size_t". Die Umwandlung wird also (void *) (size_t), für das der Compiler nicht klagen wird. – huyc