gpt4 book ai didi

c++ - 如何返回静态数组指针

转载 作者:太空狗 更新时间:2023-10-29 20:24:20 25 4
gpt4 key购买 nike

我正在尝试创建一个函数来创建具有默认值的二维数组。然后,该函数应返回该静态数组的指针。

int* novoTabuleiro() {

static int *novoTabuleiro[LINHAS][COLUNAS];

//Some changes

return novoTabuleiro;
}

然后我想做这样的事情:

int *tabuleiroJogador = novoTabuleiro();

上面的函数有什么问题。我收到的错误是“从不兼容的指针类型返回”。谢谢。

最佳答案

您的评论表明该数组是一个二维整数数组:

static int novoTabuleiro[LINHAS][COLUNAS];
return novoTabuleiro;

由于数组指针衰减,返回语句中的表达式 novoTabuleiro&novoTabuleiro[0] 含义相同。

novoTabuleiro[0] 的类型是“array [COLUNAS] of int”,即 int [COLUNAS]。所以指向它的指针是 int (*)[COLUNAS]

这意味着您的功能需要:

int (*func())[COLUNAS]  {

调用代码为:

int (*tabuleiroJogador)[COLUNAS] = func();

与函数内的数组名称相比,为函数使用不同的名称会更容易混淆。

关于c++ - 如何返回静态数组指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28399577/

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