Solidity

布爾預設值

  • October 7, 2022

在教程中,我編寫了以下程式碼

在這種情況下,它現在會拋出一個異常,使用者回饋事務沒有通過。我不知道 bool 在這種情況下是如何工作的?布爾值是否沒有預設為假,因此我們要求該函式為假?

       bool isSent = _toWhom.send(10);
       require (isSent, "Sending funds unsuccessfull");
   }

這對我有用

  bool isSent = payable(receiver).send(10);
  require (isSent, "Sending funds unsuccessfull");

所以也許嘗試添加明確的’payable’關鍵字?

但是你是對的,‘發送’會返回一個成功的布爾值,你的要求應該對轉移的成功起作用。

為了發送乙太幣,你的合約首先需要擁有足夠的乙太幣。_toWhom.send將乙太幣從合約發送到_toWhom.

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