我在使用 MSVS 编译器时遇到问题,我有以下代码:
if (!list) {
*type = raw_data[*i++];
ptr = (char*) &size;
ptr[1] = raw_data[*i++];
ptr[0] = raw_data[*i++];
name = new char[size+1];
memcpy (name, raw_data+*i, size);
name[size] = '\0';
*i += size;
}
然后:
if (!list) {
s->name = name;
s->name_size = size;
}
此函数中 list 的值没有改变,但是由于此错误,我无法编译代码:
错误 1 错误 C4703:使用了可能未初始化的局部指针变量“名称”
我发现这不是警告而是错误,这令人难以置信。将 bool 更改为 const bool 也无济于事。有人知道如何在 Visual Studio 中忽略此特定错误,但仍显示其他错误/警告?