8055浏览
查看: 8055|回复: 8

[已解决] 求教,用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,这是什么原因造成的?

Leotower  中级技师

发表于 2014-3-4 20:13:19

initgps() 与 initgps(int _rx,int _tx) 是不同的成员,其参数不同; 因此initgps(int _rx,int _tx) 是未声明的。 建议看一下面向对象的函数重载。
回复

使用道具 举报

lisper  中级技匠

发表于 2014-3-4 21:17:35

成员函数的名字和参数类型都一样时才代表是同一个成员函数
回复

使用道具 举报

wonderboy  见习技师
 楼主|

发表于 2014-3-4 21:41:23

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:09:25

本帖最后由 Angelo 于 2014-3-4 23:25 编辑

Class 最后应该需要“;”结束吧?
而且这种定义本身我感觉是有问题的。把一个类实例化里面所需要的参数一定需要为常数。
如果是我的话我会这么玩:

SoftwareSerial gps_ss(2,3);

class GPS {

public:
  GPS(SoftwareSerial* the_gps_ss);

};

GPS(&gps_ss);


回复

使用道具 举报

Leotower  中级技师

发表于 2014-3-5 09:00:38

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/
回复

使用道具 举报

wonderboy  见习技师
 楼主|

发表于 2014-3-5 18:30:58

Leotower 发表于 2014-3-5 09:00
建议到eclipse论坛交流一下, http://www.eclipse.org/forums/index.php/t/461301/

这个,怎么说呢。昨天更新了Eclipse CDT之后,今天不报错了!:L
回复

使用道具 举报

Leotower  中级技师

发表于 2014-3-5 19:07:52

解决就好,看eclipse论坛,之前某版本有这个问题。 在eclipse上发现问可以google或上相应论坛,排除版本bug:)
回复

使用道具 举报

wonderboy  见习技师
 楼主|

发表于 2014-3-7 19:21:58

Leotower 发表于 2014-3-5 19:07
解决就好,看eclipse论坛,之前某版本有这个问题。 在eclipse上发现问可以google或上相应论坛,排除版本bug ...

因为最早安装的是juno版,没注意,后来升级了版本,本身也是二把刀的水平,又不知道近期的C++标准变化,所以都不知道是自己的问题还是什么原因。因为Arduino IDE本身对C++的支持是不严格的,类似把类、函数写在后边之类的,所以觉得程序应该没有什么问题。反正下次出问题先查C++标准了,花了128元买了本C++ Primer当参考书了!
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主

楼主的其它帖子

上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail