正常我们在设计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。
閱讀更多 Neo老師 的文章