C++ 未正确初始化二维阵列

C++ 未正确初始化二维阵列,c++,arrays,C++,Arrays,简单的一行代码停止编译,怎么了 char *words[256] = new char[numOfWords][256]; array must be initialized with a brace-enclosed initializer 您声明了一个256个指向char的指针数组。错误消息很清楚-数组需要用括号内的初始值设定项初始化。因此,如果您想保留您的声明,请执行以下操作: char* words[256] = { new char[wordlength], ... };

简单的一行代码停止编译,怎么了

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
s数组的指针,那么:

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

您声明了一个256个指向
char
的指针数组。错误消息很清楚-数组需要用括号内的初始值设定项初始化。因此,如果您想保留您的声明,请执行以下操作:

char* words[256] = { new char[wordlength], ... };
       //   ^^^ this is effectively your numOfWords
或者,您可以完全忽略初始化,稍后分配单个元素,比如在循环中。请注意,如果动态分配元素,还需要正确删除它们

如果您想要一个指向256
char
s数组的指针,那么:

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

当您声明一个2D数组时,可以将其看作是指向其他数组的指针数组。因此,按照你的要求去做:

char *words[] = new char*[256];
for (int i = 0; i < 256; ++i) {
    words[i] = new char[numOfWords];
}
char*words[]=新字符*[256];
对于(int i=0;i<256;++i){
单词[i]=新字符[numOfWords];
}

当您声明2D数组时,请将其视为指向其他数组的指针数组。因此,按照你的要求去做:

char *words[] = new char*[256];
for (int i = 0; i < 256; ++i) {
    words[i] = new char[numOfWords];
}
char*words[]=新字符*[256];
对于(int i=0;i<256;++i){
单词[i]=新字符[numOfWords];
}

单词
不是2D数组,而是256个字符的数组*。作为C++,为什么不使用一个代码> STD::vector < /Calp>或<代码> STD::数组< /C>?我想要一个带有NoMoWork字符的数组[256 ],我是不是向后做?在没有任何STL的情况下尝试这样做,对问题有更多的上下文,例如,要解释的代码片段可能会很有用。您想要一个numOfWords数组吗?但是您似乎要声明一个256个元素的数组?
单词
不是2D数组,而是256个
字符*
的数组。作为C++,为什么不使用一个代码> STD::vector < /Calp>或<代码> STD::数组< /C>?我想要一个带有NoMoWork字符的数组[256 ],我是不是向后做?在没有任何STL的情况下尝试这样做,对问题有更多的上下文,例如,要解释的代码片段可能会很有用。您想要一个numOfWords数组吗?但是您似乎声明了一个256个元素的数组?或者:char*words[256]={new char[numOfWords]}@Xploit可能是,但OP上面的评论表明,IMO并非如此。谢谢!作品我的反向单词函数现在成功了:)或者:char*words[256]={new char[numOfWords]}@Xploit可能是,但OP上面的评论表明,IMO并非如此。谢谢!作品我的反向单词功能现在成功了:)