我正在尝试制作一个Arduino库,因为我将会在一些草图中使用这个版本,而且我还没弄清楚为什么我会继续这样做错误。在多个论坛上搜索,没有找到合适的答案。这是我的代码:
charLCD.h:
>>> def fib3(n):
... if n <= 3:
... return 1
... else:
... return fib3(n-1) + fib3(n-2) + fib3(n-3)
...
>>> print(fib3(3))
1
>>> print(fib3(4))
3
>>> print(fib3(7))
17
>>> print(fib3(9))
57
charLCD.cpp:
#ifndef charLCD
#define charLCD
#include "Arduino.h"
class charLCD
{
public:
charLCD(int pin1,int pin2,int pin3,int pin4,int enable);
void sendChar(unsigned char c);
private:
int _pin1;
int _pin2;
int _pin3;
int _pin4;
int _enable;
};
#endif
问题在于我在标题中定义构造函数的行。
答案 0 :(得分:3)
因为
#define charLCD
这是您的编译器所看到的:
class
{
public:
(int pin1,int pin2,int pin3,int pin4,int enable);
void sendChar(unsigned char c);
private:
int _pin1;
int _pin2;
int _pin3;
int _pin4;
int _enable
};
::(int pin1,int pin2,int pin3,int pin4,int enable) {
_pin1 = pin1;
_pin2 = pin2;
_pin3 = pin3;
_pin4 = pin4;
_enable = enable;
}
// ...
选择一名更好的头球卫士。
您还需要限定成员函数的定义:
void charLCD::sendChar(unsigned char c) {
// Send char to item
}