0

当我使用 Remix 执行以下函数时,我收到错误:VM error: invalid opcode; 执行可能已经抛出。不幸的是,这个错误并没有告诉我任何事情。如果有任何帮助,我将不胜感激。

function getAllTreatmentsForPatient() public view returns(address[]){ address[] memory providerAddresses = new address;

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

return providerAddresses;

}`

4

1 回答 1

0

for您提供的循环中存在错误,<=而不是<

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

于 2018-11-30T13:08:18.320 回答