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++特定的特性。