【发布时间】:2026-01-26 02:55:02
【问题描述】:
我真的不确定它是什么(如果它是指针数组,还是指针数组的数组???),但是当我通过调试器踩到它时,它给了我 0xCDCDCDCD,这意味着内存已分配,但未初始化。谁能告诉我如何初始化它?
谢谢。
char* (*vars)[4];
我试过这样的东西,但它给出了编译错误:
for (int i = 0; i < 4; i++)
vars[i] = new char*[new char*][4]; // error C2440: 'initializing' : cannot convert from 'char **' to 'unsigned int'
【问题讨论】:
-
如果你不确定它是什么,你为什么要尝试使用它?
-
我认为告诉我们您想要完成的工作会更好,让我们帮助您做到这一点。我很难弄清楚你想做什么,这是正确的方法。
-
这看起来过于复杂了。
-
说实话,我不知道它是什么。一位前同事将它作为双倍,我被要求将其更改为字符串(或 char*)。所以我把它从“double (vars)[4]”改成了“char (*vars)[4]”。
-
我最终使用了一个二维 CString 数组:[CString (*vars)[4];] [vars = new (CString[100][4]);]。这更容易实例化和释放。谢谢大家的建议。
标签: c++ arrays pointers initialization