2017-10-07 221 views
0

小微控制器(Arduino的)对我的家庭自动化项目监听到引脚前高后低的状态变化。当引脚状态的变化,函数返回类型decission

功能被称为象下面这样:

NotSureYet sendMessageOnPinChange(8, "You turned on the kitchen lights "); 

回报

  • 功能将检查它是否与第一个参数作为一个调用整数范围从0到16,否则返回“错误” (如:你应该我们...之间EA数)
  • 功能检查第二参数是类型char *(字符串)的,否则将返回一个错误(如:该消息是不是一个字符串)
  • 功能也返回如果被“发”的信息正确与否

问题 会是什么返回类型NotSureYet?

虽然一旦它返回“消息发送成功”,这不是一个错误,并在任何其他情况下返回“错误整数”或“错误消息”或... 因此,我不是在寻找错误检查,我在寻找“NOT_SURE_YET”

+0

不能在C. – melpomene

+0

在运行时检查类型有很好的理由,为什么你看到这么多的项目真正做到这一点:P因为C是你必须建立自己的一切,包括复杂的错误检查非常低的水平。 –

+0

另外@melpomene在编译时和运行时检查上是正确的。任何范围检查等,也都必须由你来构建:P –

回答

0

你会返回一个结构有两个成员的返回类型。

typedef struct { 
    const char *error_str; 
    bool success; 
} NotSureYet; 

注意:我还没有试图编译这个,但它应该工作。

+0

“错误的C代码处理”所以基本点我需要创建自己的错误返回类型,有模板,指南,最佳实践吗? – hewi