2017-10-07 166 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