C++ 向多维数组动态添加数组

C++ 向多维数组动态添加数组,c++,C++,我对将数组指定为多维数组的元素有问题。 下面的代码不像我所说的那样工作,但如果我将类型从unsigned char更改为int,则一切正常 unsigned char CH0[4] = { 1, 2, 3, 4 }; unsigned char CH1[4] = { 8, 7, 6, 5 }; unsigned char** mPins; unsigned char index; void init(unsigned char size) { mPins = new unsigned

我对将数组指定为多维数组的元素有问题。 下面的代码不像我所说的那样工作,但如果我将类型从unsigned char更改为int,则一切正常

unsigned char CH0[4] = { 1, 2, 3, 4 };
unsigned char CH1[4] = { 8, 7, 6, 5 };

unsigned char** mPins;
unsigned char index;

void init(unsigned char size)
{
    mPins = new unsigned char*[size];
    index =0;
}

void setup(unsigned char* array){
    mPins[index] = array;
    index++;
}

main() {
   init(2);
   setup(CH0);
   setup(CH1);
}

您的代码不打印任何内容,因为
char
应该用于存储字符。您正在使用的带有代码的字符不可打印

此代码:


不要把C++的问题标记为C“不能像我一样工作”,这恐怕不是对问题的详细解释,恐怕你应该包括打印部分来帮助我们找到问题。这是一个评论而不是答案。
#include <iostream>

unsigned char CH0[4] = { 1, 2, 3, 4 };
unsigned char CH1[4] = { 8, 7, 6, 5 };

unsigned char** mPins;
unsigned char index;

void init(unsigned char size)
{
    mPins = new unsigned char*[size];
    index =0;
}

void setup(unsigned char* array){
    mPins[index] = array;
    index++;
}

int main() {
    init(2);
    setup(CH0);
    setup(CH1);
    for(int i = 0; i < 2 ; ++i) {
        for(int j = 0; j < 4; ++j) {
            std::cout << (int)mPins[i][j] << " ";
        }
        std::cout << std::endl;
    }
}
1 2 3 4 
8 7 6 5