Solidity
將不同的參數傳遞給函式和修飾符
我想知道有什麼方法可以在聲明它們時為函式和修改器提供不同的參數。下面是程式碼
// 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 ; }
您只需要在函式參數中定義並傳遞該變數。我希望你明白