0

我的新代码出现编译错误。我找不到任何问题。我已经搜索了谷歌。任何帮助都会很棒。请参阅下面的代码和错误消息。

代码: http: //pastebin.com/cLprnCRz

错误消息: http: //pastebin.com/azkc9QLY

4

1 回答 1

0

好吧,您的错误不在您的代码中,而是在您包含的文件中,该文件正在sha1.h实现一个虚拟方法,Print.h但返回类型错误:

在 sha1.h 中:

virtual void Sha1Class::write(uint8_t)
        ^^^^

在 Print.h 中:

virtual size_t Print::write(uint8_t)
        ^^^^^^

您的sha1库可能是为不同版本的 Arduino 框架编写的。

错误很明显,正如它所说:

error: conflicting return type specified for 'virtual void Sha1Class::write(uint8_t)'
error:   overriding 'virtual size_t Print::write(uint8_t)'

所以编译器在这里说:

“你在 Print.ha 中定义了必须重新实现给定类型的方法,当你重新实现它时,你给了它另一种类型。我尽力了,但真的,我不明白什么你要!”

于 2015-08-13T01:41:46.083 回答