Warnung C28159
Verwenden Sie
*function_name_1*
anstelle von*function_name_2*
. Grund: Grund
Diese Warnung tritt auf, wenn Sie eine Funktion verwenden, die semantisch einem alternativen, bevorzugten Funktionsaufruf entspricht.
Hinweise
C28159 ist eine allgemeine Warnmeldung; Die Anmerkung __drv_preferredFunction
wurde verwendet (möglicherweise mit einer bedingten __drv_when
() Anmerkung, um eine schlechte Codierungspraxis zu kennzeichnen.
Codeanalysename: USE_OTHER_FUNCTION
Beispiel
Im folgenden Codebeispiel wird diese Warnung generiert. Dieses Problem liegt auf der Verwendung von OemToChar
, die die Puffergröße nicht überprüft:
char buff[MAX_PATH];
OemToChar(buff, input); // If strlen(input) > MAX_PATH, this call leads to buffer overrun
Im folgenden Codebeispiel wird diese Warnung vermieden, indem die empfohlene Alternative OemToCharBuff
verwendet wird, die die Größe des Zielpuffers einnimmt und die Kopie entsprechend begrenzt:
char buff[MAX_PATH];
OemToCharBuff(buff, input, MAX_PATH);