全部的学习总结在此:https://github.com/GreyZhang/Arduino_Cpp
关于函数重载,通过教程的信息我觉得似乎就是一个关键点:函数重载在C++中是允许的,只要保证参数不同。这里没有要求返回值不同,其实是可以理解的。因为程序可以运行带有返回值的函数,然后放弃返回结果。如果是这样的话,肯定会有语义上的差异。或许,这样编译器就不好识别究竟该使用什么参数了。
按照这个描述,写测试代码如下:
运行结果如下:
尽管存在只声明了一个函数这样的问题,但是程序的运行都跟预期一致。在教程之中,没有看到关于函数声明的介绍,看起来C++中这部分应该还有一点不同的说法。
为了判断我的猜测,增加一个函数:
尝试编译结果报错,提示如下:
按照相关描述,其实软件中也可以存在一个带有返回值的函数,只要参数不同。为此,上面的程序做一下改造:
函数的调用部分修改如下:
程序的运行效果:
效果基本符合预期,但是有一点差异就是最后的double输出的精度少了几位。这应该是Arduino库文件的问题了。