其他分享
首页 > 其他分享> > c-声明一个函数返回头文件中的2D数组?

c-声明一个函数返回头文件中的2D数组?

作者:互联网

我试图在我的头文件中声明一个返回2D数组的函数.鉴于我们已经知道数组的大小,如何实现?以下是我目前正在做的事情.

class Sample
{
public:
    char[x][y] getArr();
    void blah(int x, int y);
private:
    const static int x = 8;
    const static int y = 2;
    char arr[x][y];
};

解决方法:

原来我的答案是完全错误的,但是I can’t delete it since it’s been accepted.从下面的two单独的answers中,我可以编译出以下代码:

class Sample
{
    const static int x = 8;
    const static int y = 2;
public:
    typedef char SampleArray[x][y];

    SampleArray& getArr();
    void blah(int x, int y);

private:
    SampleArray arr;
};

Sample::SampleArray& Sample::getArr ()
{
    return arr;
}

(我仅使用OP的给定类声明而不是getArr()的定义来编译原始解决方案.)

只需将指针返回一个指针即可.

char** getArr();

标签:c,arrays,declaration,header-files
来源: https://codeday.me/bug/20191013/1910656.html