gpt4 book ai didi

c++ - 错误 C4703 使用了可能未初始化的本地指针变量 'y'

转载 作者:可可西里 更新时间:2023-11-01 09:40:41 48 4
gpt4 key购买 nike

我在下面提供的代码中收到一个错误,可能使用了未初始化的局部指针变量“y”和使用了可能未初始化的局部指针变量“z”。请帮我解决这个问题?

UINT8* x = new UINT8[512];
if (!x) goto clean;

//UINT32* y = NULL;
UINT32* y = new UINT32[4];
if (!y) goto clean;

//char* z = NULL;
char* z = new char[512];
if (!z) goto clean;

{.... Some Code....}

clean:

if (x) delete[] x;
if (y) delete[] y;
if (z) delete[] z;

最佳答案

将所有的初始化移到开头。否则 if (!x) goto clean; 并跳转到 cleanyz 仍未初始化.

UINT8* x = NULL;
UINT32* y = NULL;
char* z = NULL;

x = new UINT8[512];
if (!x) goto clean;

y = new UINT32[4];
if (!y) goto clean;

z = new char[512];
if (!z) goto clean;

PS:正如其他人所指出的,在现代 C++ 中,不应在一般的。您可能想引用 The Definitive C++ Book Guide and List .

关于c++ - 错误 C4703 使用了可能未初始化的本地指针变量 'y',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48619510/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com