所以在我的源文件中,我有 folowin 函数:
void update(state* old_state, state* measurement, uint32_t size)
{
state new_state[size];
//some function using measurement and old_state and returning the result in newstate
arm_fadd_32(measurement,old_state,newstate,size);
// 其余代码 }
现在编译器会抛出一个错误,指出 error#28:expression 必须有一个常量值。我认为这是因为即使在方法内部,局部变量的大小没有改变,编译器在定义大小时也期望一个常量。我尝试了以下方法:
int const a = size;
然后尝试重新初始化它说常量值未知。我在互联网上做了一些研究,似乎没有使用 malloc 的更简单的方法,我不想这样做,因为我正在使用一些嵌入式应用程序的代码。
有没有办法在不真正使用 malloc 的情况下避免这个问题?提前谢谢各位!