我在 Arduino 中编写课程时遇到了一些麻烦。这是一个名为“Jerry”的类。它包含名为 Mouth、Move 和 Injection 的用户定义类的三个实例。Arduino IDE 抱怨“嘴”没有命名类型,“移动”没有命名类型。如何让 Arduino 将 Mouth 和 Move 识别为有效类型?
#ifndef JERRY_H
#define JERRY_H
include "Button.h"
include "Injection.h"
class Jerry
{
protected:
int BGL;
double protein_conc;
public:
Jerry(int, int);
Mouth mth;
Move mv;
Injection inj;
volatile long prev_interrupt_time;
};
#endif // JERRY_H
(# 符号被移除,因为它搞砸了 StackOverflow 中的格式)
Mouth、Move 和 Injection 类声明如下:
#ifndef BUTTON_H
#define BUTTON_H
include "Jerry.h"
class Button
{
public:
void setPin(int);
int getPin();
bool check(Jerry);
virtual void run();
protected:
int pin;
};
class Mouth : public Button
{
public:
int detectFood();
void run();
};
class Move : public Button
{
public:
bool checkLaughing();
void runLaughing();
bool checkSleep();
};
#endif // BUTTON_H
#ifndef INJECTION_H
#define INJECTION_H
class Injection
{
public:
void setPin(int, int, int, int);
void checkInjection();
void checkInjectionSite();
protected:
int pin1;
int pin2;
int pin3;
int pin4;
};
#endif // INJECTION_H
任何帮助将不胜感激。