我试图在我的主.ino文件中使用以下命名空间,但它给了我一个Motor变量的'多定义'错误。我是C ++的新手。任何帮助将不胜感激。
由于
.ino文件
using namespace InitFlower;
void setup() {
}
Motor m(STEP_DELAY,A_1,A_2,B_1,B_2);
void loop() {
SETUP(m);
}
InitFlower.h
#ifndef InitFlower_h
#define InitFlower_h
#include "Arduino.h"
#include "Motor.h"
namespace InitFlower {
void SETUP(Motor m);
Motor* localMotor;
}
#endif
InitFlower.cpp
#include "Arduino.h"
#include "Motor.h"
#include "InitFlower.h"
using namespace InitFlower;
void InitFlower::SETUP(Motor m) {
localMotor = &m;
localMotor->toSetup_LED();
}
答案 0 :(得分:1)
更改标题文件中的以下内容:
Motor* localMotor;
于: extern Motor * localMotor;
然后将以下内容添加到源文件中:
namespace InitFlower {
Motor* localMotor;
}