C++ Arduino如何生成返回固定大小数组的函数

C++ Arduino如何生成返回固定大小数组的函数,c++,arrays,function,arduino,C++,Arrays,Function,Arduino,我试图创建返回数组的函数,但在使用 int x[5]; void setup() { x = getX(); } int * getX(){ return {1,1,1,1,1}; } 我得到:将“int*”赋值给“int[5]”时不兼容的类型。您的Arduino IDE可能不支持注释中提到的C++std::array,但您可以这样做: int* get() { static int my_array[] = {1, 1, 1, 1, 1}; return my_

我试图创建返回数组的函数,但在使用

int x[5];

void setup() {
  x = getX();
}

int * getX(){
  return {1,1,1,1,1};
}


我得到:将“int*”赋值给“int[5]”时不兼容的类型。

您的Arduino IDE可能不支持注释中提到的C++
std::array
,但您可以这样做:

int* get() {
    static int my_array[] = {1, 1, 1, 1, 1};
    return my_array;
}
无法像您在
设置中尝试的那样重新设计阵列

考虑使用:

int* x = nullptr;

void setup() {
    x = get();
}

我必须指出,这不是最佳做法。也许您可以提供更多信息以找到更好的解决方案。

要在数组上进行赋值,您必须使用
std::array
。在<代码> C <代码>中,没有这样的特性,比如数组之间的赋值,所以必须使用C++特定的特性。