在混音中执行调用事务时无效的操作码

时间:2018-11-30 11:08:03

标签: ethereum solidity remix

当我使用Remix执行以下功能时,出现错误:VM错误:无效的操作码;执行可能已经抛出。不幸的是,这个错误没有告诉我任何事情。我将非常感谢您的帮助。

函数getAllTreatmentsForPatient()公开视图返回(地址[]){     address []内存providerAddresses =新地址;

for(uint i = 0; i <= treatmentsPatient[msg.sender].length;  i++) {
    address a = treatmentsPatient[msg.sender][i].providerAddress;
    providerAddresses[i] = a;
}

return providerAddresses;

}`

1 个答案:

答案 0 :(得分:0)

for循环中出现错误,您提供了<=而不是<

您在for循环中定义i <= treatmentsPatient[msg.sender].length条件,只需将其替换为i <treatmentsPatient[msg.sender].length,然后再次部署合同并尝试。