Онлайн-компилятор Remix выдает нестабильное сообщение об ошибке между одинаковыми кодами и похожим сценарием.
Remix продолжает выдавать «Неизвестное исключение во время компиляции».когда функция выполняет несколько динамических возвратов (три динамических массива uint []).
Но когда я определил размер возвращаемых ДВУХ динамических массивов, проблема исчезла.И теперь я понятия не имею о причине этого.У вас уже есть возможность переключаться на другую версию прагмы.
// Remix создает неизвестное исключение во время компиляции.
function Determine_Result(uint GameId, uint RoundId) internal returns (uint[] memory WinnerUserId, uint[] memory DrawUserId, uint[] memory LoserUserId) {
uint[] memory Im_WinnerUserIdSet;
uint[] memory Im_DrawIdSet;
uint[] memory Im_LoserIdSet;
/*
...
*/
return (Im_WinnerUserIdSet, Im_DrawIdSet, Im_LoserIdSet);
}
// Однако это работает !?: (
function Determine_Result(uint GameId, uint RoundId) internal returns (uint[] memory WinnerUserId, uint[] memory DrawUserId) {
uint[] memory Im_WinnerUserIdSet;
uint[] memory Im_DrawIdSet;
uint[] memory Im_LoserIdSet;
/*
...
*/
return (Im_WinnerUserIdSet, Im_DrawIdSet);
}
Это особая проблема? В чем заключается принцип и как ее решить
Пожалуйста, я пойман в ловушку этого дня