我决定将许多参数设置为数组,其长度可以不同。
为了访问其中一个参数数组,我定义了一个变量,我将其中一个数组的地址分配给该变量:float * curTimeInterval[]; 编译时出现错误:存储大小未知
请教如何用参数选择所需的数组并从中提取值?
static float TimeImterval1[] PROGMEM = {0.2,0.2,0.2,2};
static int TimeImterval1N PROGMEM = 4;
static float TimeImterval2[] PROGMEM = {0.2,0.2,0.2,0.5,0.2,2};
static int TimeImterval2N PROGMEM = 6;
float * curTimeInterval[];
int curLength;
_ticker.detach();
switch (curTickPGM)
{
case 2:
curTimeInterval = &TimeImterval2;
curLength = TimeImterval2N;
break;
default:
curTimeInterval = &TimeImterval1;
curLength = TimeImterval1N;
break;
}
而背后隐藏着
PROGMEM
什么?所以 - 一切都很简单:
删除括号。