Ich arbeite an einem Legacy-Pro * C/C++ - Code und migrierte das Projekt zu Visual Studio 2015. Wenn ich den Code in VS kompiliere, gibt es mir eine unten Warnmeldung an mehr als 100 Orten.Die Warnmeldung loswerden - der richtige Weg
warning C4267: '=': conversion from 'size_t' to 'unsigned short', possible loss of data
und der entsprechende Code ist
stmt.len = strlen((char*)stmt.arr); // VARCHAR stmt[500];
ich den obigen Code zu
stmt.len = static_cast<unsigned short>(strlen((char *)stmt.arr));
diesen Änderungen wurde die Planung wird nur die Warnmeldung entfernen. Aber ich muss an mehr als 100 Stellen modifizieren. Gibt es eine Möglichkeit, diese Warnmeldung loszuwerden, eine Art Makro zu verwenden? Bitte vorschlagen.
Dank
@NJMR Wenn Sie dann nur das Datenelement stmt.len mit dem Typ size_t neu deklarieren können :) –
Ändern Sie den Typ des 'len' Mitglieds? –
Und C-artige Umwandlungen, wie Sie es mit '(char *) stmt.arr machen, sind normalerweise ein Zeichen, dass Sie etwas falsch machen. –