Chainlink

類型 uint256 不能隱式轉換為預期類型 uint256

  • September 13, 2022

我正在嘗試使用 Chainlink 生成一個範圍內的隨機數,我不斷得到 - 類型 uint256 不能隱式轉換為預期的類型 uint256

$$ $$ 我正在使用Get a random number中的樣板

我稍微修改了一下,得到一個隨機詞,

function fulfillRandomWords( uint256, /* requestId */ uint256[] memory randomWords ) internal override {s_randomWords = (randomWords[0] % 50) + 1;}

所以我注意到 s_randomWords 提示此錯誤 Type uint256 is not implicitly convertible to expected type uint256

$$ $$

您可能正在嘗試將 a 分配給uint256範例s_randomWords中的類型變數uint256[]

uint256[] public s_randomWords;

更好地創建一個新的狀態變數,例如:

uint256 public s_randomWord;` // Notice now it's not plural, but singular.

然後在fulfillRandomWords函式中使用它:

 function fulfillRandomWords(uint256, /* requestId */ uint256[] memory randomWords) internal override {
   s_randomWord = (randomWords[0] % 50) + 1;
 }

引用自:https://ethereum.stackexchange.com/questions/135519