极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15211|回复: 7

库函数的源文件中,构造函数不能为无参函数

[复制链接]
发表于 2014-4-18 15:45:33 | 显示全部楼层 |阅读模式
arduino 有bug

我写了个库函数,这是库函数的源文件
#include "Arduino.h"
#include "ledFlash.h"

ledFlash::ledFlash(){
        pinMode(1,OUTPUT);
}

void ledFlash::flash(){
        digitalWrite(1,HIGH);       
}


请看ledFlash::ledFlash(){

ledFlash()是无参构造函数。可是编译就报错。
如果我

ledFlash::ledFlash(int i){
        pinMode(1,OUTPUT);
}
加个参数i,就可以编译过去了。
是不是写arduino的构造函数必须得有参数。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-4-18 15:53:10 | 显示全部楼层
.h 跟 .cpp 必須配合的, 改改 .h 就可以了, 在 public: 之下加一句:

    ledFlash();
回复 支持 反对

使用道具 举报

发表于 2014-4-18 18:00:03 | 显示全部楼层
我认为.h的作用是定义函数,说明一个库里有几个函数,真正函数的解析是在.cpp中,初学者见笑。
回复 支持 反对

使用道具 举报

发表于 2014-4-19 13:30:54 | 显示全部楼层
将.h文件中的“ledFlash(int i);”改为“ledFlash(void);”即可
像这样:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-20 14:44:31 | 显示全部楼层
还是不行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-20 14:51:42 | 显示全部楼层
八硝基立方烷 发表于 2014-4-19 13:30
将.h文件中的“ledFlash(int i);”改为“ledFlash(void);”即可
像这样:

将.h文件中的“ledFlash(int i);”改为“ledFlash(void);”还是不行,问题出在哪里了
回复 支持 反对

使用道具 举报

发表于 2014-4-30 19:34:59 | 显示全部楼层
ljg-net 发表于 2014-4-20 14:51
将.h文件中的“ledFlash(int i);”改为“ledFlash(void);”还是不行,问题出在哪里了

呃,那我也没辙了
回复 支持 反对

使用道具 举报

发表于 2014-5-6 00:41:53 | 显示全部楼层
本帖最后由 yuminxin 于 2014-5-6 00:56 编辑

keywords自己改下吧!{:soso_e100:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 23:14 , Processed in 0.039099 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表