gpt4 book ai didi

c++ - 二维数组未正确初始化

转载 作者:行者123 更新时间:2023-11-28 00:53:12 24 4
gpt4 key购买 nike

简单的一行代码停止编译,有什么问题吗?

char *words[256] = new char[numOfWords][256];

array must be initialized with a brace-enclosed initializer

最佳答案

您声明了一个包含 256 个指向 char 的指针的数组。错误信息很清楚——数组需要用大括号括起来的初始化器来初始化。因此,如果您想保留您的声明,请执行以下操作:

char* words[256] = { new char[wordlength], ... };
// ^^^ this is effectively your numOfWords

或者,您可以完全省略初始化并稍后分配单个元素,比如在循环中。请注意,如果您动态分配元素,您还负责正确删除它们。

如果你想要一个指向由 256 个 char 组成的数组的指针,那么:

char (*words)[256] = new char[numOfWords][256];

关于c++ - 二维数组未正确初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12904613/

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