Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 1) C4739

odwołanie do zmiennej "var" przekracza miejsce do magazynowania

Wartość została przypisana do zmiennej, ale wartość jest większa niż rozmiar zmiennej. Pamięć zostanie zapisana poza lokalizacją pamięci zmiennej, a utrata danych jest możliwa.

Aby rozwiązać to ostrzeżenie, przypisz wartość tylko do zmiennej, której rozmiar może pomieścić wartość.

Poniższy przykład generuje C4739:

// C4739.cpp
// compile with: /RTCs /Zi /W1 /c
char *pc;
int main() {
   char c;
   *(int *)&c = 1;   // C4739

   // OK
   *(char *)&c = 1;
}