You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VEX C++机器人代码报main函数重定义错误 删除任意main仍报错如何解决

问题原因

C++ 规范要求全局范围内只能存在一个 main 函数作为程序唯一入口,你当前代码里重复定义了两次 int main(),所以编译器直接抛出重定义错误。
你删除任意一个main都会报错的原因也很明确:

  • 如果你删除上方带事件注册逻辑的main,你写的控制器轴事件绑定逻辑不会执行,符合VEX运行规则但不符合你的功能需求
  • 如果你删除下方带vexcodeInit()的main,VEX硬件初始化逻辑缺失,程序无法正常初始化机器人设备,自然会报错

修复方案

直接将两个main函数的逻辑合并,删除重复的冗余代码即可,具体修改步骤:

  1. 保留最上方的 #include "vex.h" 和 using namespace vex;,删除下方设备配置注释之后重复的这两行代码
  2. 将下方main函数里的vexcodeInit();语句挪到上方main函数的第一行
  3. 删掉下方整个重复的main函数

修改后的完整代码如下:

#include "vex.h"
  
// Allows for easier use of the VEX Library
using namespace vex;

float myVariable;

// "when Controller1 Axis3 changed" hat block
void onevent_Controller1Axis3Changed_0() {
  Motor1.setVelocity(Controller1.Axis3.position(), percent);
  Motor2.setVelocity(Controller1.Axis3.position(), percent);
  Motor1.spin(forward);
  Motor2.spin(forward);
}

// "when Controller1 Axis2 changed" hat block
void onevent_Controller1Axis2Changed_0() {
  Motor11.setVelocity(Controller1.Axis2.position(), percent);
  Motor12.setVelocity(Controller1.Axis2.position(), percent);
  Motor11.spin(forward);
  Motor12.spin(forward);
}


int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();
  // register event handlers
  Controller1.Axis3.changed(onevent_Controller1Axis3Changed_0);
  Controller1.Axis2.changed(onevent_Controller1Axis2Changed_0);

  wait(15, msec);
  // post event registration

  // set default print color to black
  printf("\033[30m");

  // wait for rotation sensor to fully initialize
  wait(30, msec);

}
// ---- START VEXCODE CONFIGURED DEVICES ----
// Robot Configuration:
// [Name]               [Type]        [Port(s)]
// Controller1          controller                    
// Motor1               motor         1               
// Motor2               motor         2               
// Motor11              motor         11              
// Motor12              motor         12              
// ---- END VEXCODE CONFIGURED DEVICES ----

内容的提问来源于stack exchange,提问作者axo1otl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:09:03