当我使用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;
}`
答案 0 :(得分:0)
在for
循环中出现错误,您提供了<=
而不是<
您在for循环中定义i <= treatmentsPatient[msg.sender].length
条件,只需将其替换为i <treatmentsPatient[msg.sender].length
,然后再次部署合同并尝试。