求教,用Eclipse编程报错
准备写个库,在头文件里定义里类,在cpp文件里准备写类的函数,但是Eclipse总是报错,不清楚什么原因。两个文件都include了Arduino.h头文件里类定义
class GPSDATA {
public:
initgps();
};
CPP文件里函数
GPSDATA::initgps(int _rx,int _tx){
SoftwareSerial SS(_rx,_tx);
SS.begin(9600);
}
在这个函数前总是报告Member declaration not found,这是什么原因造成的?
initgps() 与 initgps(int _rx,int _tx) 是不同的成员,其参数不同; 因此initgps(int _rx,int _tx) 是未声明的。 建议看一下面向对象的函数重载。 成员函数的名字和参数类型都一样时才代表是同一个成员函数 Leotower 发表于 2014-3-4 20:13
initgps() 与 initgps(int _rx,int _tx) 是不同的成员,其参数不同; 因此initgps(int _rx,int _tx) 是未声 ...
class GPS{
public:
void initgps(int _ss_rx,int _ss_tx);
}
void GPS::initgps(int _ss_rx,int _ss_tx){
SoftwareSerial gps_ss(_ss_rx,_ss_tx);
};
已经这样修改了,还是报告Member declaration not found 本帖最后由 Angelo 于 2014-3-4 23:25 编辑
Class 最后应该需要“;”结束吧?
而且这种定义本身我感觉是有问题的。把一个类实例化里面所需要的参数一定需要为常数。
如果是我的话我会这么玩:
SoftwareSerial gps_ss(2,3);
class GPS {
public:GPS(SoftwareSerial* the_gps_ss);
};
GPS(&gps_ss);
wonderboy 发表于 2014-3-4 21:41
class GPS{
public:
void initgps(int _ss_rx,int _ss_tx);
建议到eclipse论坛交流一下, http://www.eclipse.org/forums/index.php/t/461301/ Leotower 发表于 2014-3-5 09:00
建议到eclipse论坛交流一下, http://www.eclipse.org/forums/index.php/t/461301/
这个,怎么说呢。昨天更新了Eclipse CDT之后,今天不报错了!:L 解决就好,看eclipse论坛,之前某版本有这个问题。 在eclipse上发现问可以google或上相应论坛,排除版本bug:) Leotower 发表于 2014-3-5 19:07
解决就好,看eclipse论坛,之前某版本有这个问题。 在eclipse上发现问可以google或上相应论坛,排除版本bug ...
因为最早安装的是juno版,没注意,后来升级了版本,本身也是二把刀的水平,又不知道近期的C++标准变化,所以都不知道是自己的问题还是什么原因。因为Arduino IDE本身对C++的支持是不严格的,类似把类、函数写在后边之类的,所以觉得程序应该没有什么问题。反正下次出问题先查C++标准了,花了128元买了本C++ Primer当参考书了!
页:
[1]