function definition is not allowed here

void PID(void)

{

                            // 设置PID常数值
                            const double Kp = 1.0;
                            const double Ki = 0.1;
                            const double Kd = 0.1;
                            const double dt = 0.1; // PID更新频率


                            // 初始化控制变量
                            double prev_error = 0.0;
                            double integral = 0.0;


                           // 计算实际功率
                            double GL = DL * DY;
    
                           // 计算PID误差
                            double error = calculate_error(dbTmp4,dbTmp2, prev_error, integral, Kp, Ki, Kd, dt);
    
                            prev_error = error;
    
                            // 计算PID输出
                            double output = Kp * error + Ki * integral + Kd * error/dt;
                            WaitSec(dt);
                            SetCtrlVal(panelHandle,PANEL_POWER1,GL);

}

我想修改一个程序,加入一个PID算法,但是会报错function definition is not allowed here。想请教一下这是怎么回事

代码不全。
你这个函数定义到哪里了,是不是嵌套到别的函数里面了

C不允许嵌套函数,贴出来的代码看不到问题

偶遇到类似问题都是用
“每次用/.../注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。