编译器警告(等级 1)C4739
对变量“var”的引用超过了其存储空间
将值赋给了变量,但是该值的大小超过变量的大小。 内存将写入变量的内存位置之外,并且可能丢失数据。
要消除此警告,仅需将值赋给其大小可容纳该值的变量。
下面的示例生成 C4739:
// C4739.cpp
// compile with: /RTCs /Zi /W1 /c
char *pc;
int main() {
char c;
*(int *)&c = 1; // C4739
// OK
*(char *)&c = 1;
}