Solidity

將不同的參數傳遞給函式和修飾符

  • August 27, 2022

我想知道有什麼方法可以在聲明它們時為函式和修改器提供不同的參數。下面是程式碼

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.16 ;
contract logic
{
   uint a ;
   uint g ;
   modifier check(uint  c)
   {
       require( c == 7 , 'wrong');
       _;
   }

   function reolace( uint  b) public  check(  uint h)
   {           
                a = b ;
   }
}

想要的是我應該能夠傳遞不同的值,uint b並且如果uint h傳入的值h等於 7,則應該在 modifer 中檢查它。但是,當我嘗試編譯時,出現以下錯誤:-

在此處輸入圖像描述

但是,如果我將相同的參數傳遞給函式和修飾符,即如果我使用

function reolace( uint b) public check(b)

然後程序正確編譯。是否有必要在兩個地方傳遞ame參數,或者有什麼方法可以傳遞相同/不同數據類型的不同參數?

看這裡很簡單,

function reolace(uint b, uint h) public check(h)
{           
            a = b ;
}

您只需要在函式參數中定義並傳遞該變數。我希望你明白

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