Remix 在线编译器在相同代码和相似场景之间给出了不稳定的错误消息。
Remix 不断抛出“编译期间出现未知异常”。当函数执行多个动态返回时(三个 uint[] 动态数组)。
但是当我将返回的大小调整为两个动态数组时,问题就消失了。现在我对它背后的原因一无所知。已经切换了不同的 pragma solidity 版本。
//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);
}
这是一个特殊的问题吗?背后的原理是什么以及如何解决
拜托,我被这个困了一天

