C28132
Warnung C28132: Verwenden der Größe des Zeigers
Zusätzliche Informationen |
Dies ergibt die Größe eines Zeigers (4 oder 8), nicht die Größe des Objekts, auf das verwiesen wird. Dereferenzieren Sie den Zeiger, oder verwenden Sie, wenn die Größe eines Zeigers beabsichtigt war, stattdessen den Zeigertyp oder (void *). |
Der Treiber nimmt die Größe einer Zeigervariable an, nicht die Größe des Werts, auf den verwiesen wird. Wenn der Treiber die Größe des Point-to-Werts benötigt, ändern Sie den Code so, dass er auf den Wert verweist. Wenn der Treiber tatsächlich die Größe des Zeigers benötigt, nehmen Sie die Größe des Zeigertyps (z. B. LPSTR, char* oder sogar void*), um zu verdeutlichen, dass dies die Absicht ist.
Beispiel
Im folgenden Codebeispiel wird diese Warnung ausgelöst.
memset(b, 0, sizeof(b));
Im folgenden Codebeispiel wird diese Warnung vermieden.
memset(b, 0, sizeof(*b));