Solidity 遇到“Error: expected array value”?何解?

正常我們在設計Solidty函數的時候經常要用到數組,那麼在調用remix做測試的時候,會經常報“Error: expected array value (arg="", coderType="array", value="[0x1,0x2]", version=4.0.44)”這樣的錯誤。

為什麼會出現?怎麼解決?

首先,我們先看錯誤是什麼錯誤,錯誤的意思就是說,期望的是數組,你的值不是數組。看看我的代碼。

function multiProposal( byte[] memory senderCert, byte[] memory caCert, bool isAdd) public {

if (isAdd == true){c1 = senderCert;c2 = caCert;}

}

很明顯,希望的是傳入兩個byte數組。經過多次測試,發現在調用的時候要這樣寫。

["0x22","0x11"]

這個是remix傳入數組必須要用的就是,[] 另外數組,裡面的元素必須是“” 雙引號。另外如果是byte或者address都必須是hex,也就是要加0x。


Solidity 遇到“Error: expected array value”?何解?


分享到:


相關文章: