相关疑难解决方法(0)

为什么C++不支持返回数组的函数?

有些语言只能声明一个函数返回一个像普通函数一样的数组,比如Java:

public String[] funcarray() {
   String[] test = new String[]{"hi", "hello"};
   return test;
}
Run Code Online (Sandbox Code Playgroud)

为什么C++不支持这样的东西int[] funcarray(){}?你可以返回一个数组,但是制作这样一个函数真的很麻烦.而且,我听说字符串只是char的数组.所以如果你能用C++返回一个字符串,为什么不用数组?

c++ arrays function

45
推荐指数
5
解决办法
2万
查看次数

从函数返回一个二维数组

嗨,我是C++的新手,我试图从一个函数返回一个二维数组.就是这样的

int **MakeGridOfCounts(int Grid[][6])
{
  int cGrid[6][6] = {{0, }, {0, }, {0, }, {0, }, {0, }, {0, }};

  return cGrid;
}
Run Code Online (Sandbox Code Playgroud)

c++ multidimensional-array

45
推荐指数
4
解决办法
13万
查看次数

如何在C++中为固定大小的2D数组的字段编写get方法?

我需要编写一个包装类,为数据类的字段提供"get"方法.但是,我不知道编写"getter"来返回2D数组的语法.例如:

#include <iostream>

class Data {
public:
    double array[2][2];
};

class Wrapper {
private:
    Data* dataptr;
public:
    Wrapper(Data* data) : dataptr(data) {}

    // compile error: "cannot convert ‘double (*)[2]’ to ‘double**’ in return"
    double** getarray() { return dataptr->array; } 

    // compile error: "‘getarray’ declared as function returning an array"
    //double* getarray()[2] { return dataptr->array; } 

    // this works, but what is auto resolved to?
    //auto getarray() { return dataptr->array; } 
};

int main() {

    Data d;
    d.array[0][0] = 1;
    d.array[0][1] …
Run Code Online (Sandbox Code Playgroud)

c++ c++14

5
推荐指数
1
解决办法
166
查看次数

从c ++中的函数返回二维数组

我想使用从函数返回的二维int数组我应该如何定义函数返回值?我使用int**但是编译器给出了错误:

int**  tableCreator(){
    int** table=new int[10][10];
    for(int xxx=1;xxx<10;xxx++){
        for(int yyy=1;yyy<10;yyy++){
            table[xxx][yyy]=xxx*yyy;
        }
    }
    return(table);  //Here:cannot convert from 'int (*)[10]' to 'int **'
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays return-type

2
推荐指数
2
解决办法
3万
查看次数