我试图有一个墙跟随机器人,但在我的范围内没有声明的名称有错误我需要帮助

0 c++ robotics

#include <iostream>
#include <libplayerc++/playerc++.h>

using namespace std;
int main(int argc, char *argv[])

{
using namespace PlayerCc;  
PlayerClient    robot("localhost");  
BumperProxy      bp(&robot,0);  
Position2dProxy pp(&robot,0);
pp.SetMotorEnable(true);


for(;;)
    double turnrate, speed;
double error;
bool wall;

motor_a_speed(0);
motor_c_speed(0);

while(1) {

    front_bumper = SENSOR_2;
    left_bumper = SENSOR_3;

    if (front_bumper > 2) {

        if (left_bumper < 3) {

            motor_a_speed(5);

            motor_c_speed(drive_speed);
            motor_a_dir(fwd);
            motor_c_dir(fwd);

        }

        else {

            motor_a_speed(drive_speed);

            motor_c_speed(5);
            motor_a_dir(rev);
            motor_c_dir(rev);

        }

    }

    else {

        motor_a_speed(drive_speed);

        motor_c_speed(drive_speed);
        motor_a_dir(brake);
        motor_c_dir(brake);
        mrest(100);

        cputs("bump");

        motor_a_dir(fwd);
        motor_c_dir(rev);
        msleep(450);


        cputs("right");

        motor_a_speed(10);
        motor_a_dir(fwd);
        motor_c_dir(fwd);
        mrest(1300);

    }

    pp.SetSpeed(speed, turnrate);
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ley 5

鉴于压痕不好,唯一突然出现的是

for(;;;)
double turnrate, speed;
Run Code Online (Sandbox Code Playgroud)

由于for大括号后面没有一个块,因此它的主体是下一个语句.这不是我见过往往是概念,但是我相信会发生什么情况是,for语句包含的定义turnratespeed,这是当地的for说法.