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