Неверный код операции при выполнении транзакции вызова в ремиксе

Когда я выполняю следующую функцию с Remix, я получаю сообщение об ошибке: VM error: invalid opcode; казнь могла скинуть. К сожалению, эта ошибка мне ничего не говорит. Буду очень признателен за любую помощь.

функция getAllTreatmentsForPatient() публичное представление возвращает (address[]){ address[] memory providerAddresses = новый адрес;

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

return providerAddresses;

} `

1 ответ

Ошибка в for цикл, который вы предоставляете <= вместо <

Вы определяете i <= treatmentsPatient[msg.sender].length условие для цикла просто замените его i <treatmentsPatient[msg.sender].length затем разверните контракт снова и попробуйте.

Другие вопросы по тегам