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”?何解?


分享到:


相關文章: