Solidity
msg.sender 無法辨識
我收到以下程式碼錯誤
// SPDX-License-Identifier: MIT pragma solidity ^0.8.7 ; contract Variables { //Global variables uint public pubInt = 25; bool public truth = false; string public msg = "Hello World"; function dosomething() public{ uint8 v = 30; address sender = msg.sender; } }
TypeError:在字元串儲存參考中進行參數相關查找後,成員“發件人”未找到或不可見。–> Web3/Variables.sol:12:25: | 12 | 地址發件人 = msg.sender;
任何幫助是極大的讚賞。
您正在使用保留關鍵字聲明狀態變數
msg
:string public msg = "Hello World";
你不想那樣做。您不應該嘗試聲明是 Solidity 語言的保留關鍵字的變數,例如
msg
全域可用的。因此,您實際上是在“覆蓋”它或遮蔽它。最好像這樣聲明:
string public message = "Hello World";
整個程式碼如下所示:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.7 ; contract Variables { //Global variables uint public pubInt = 25; bool public truth = false; string public message = "Hello World"; function dosomething() public { uint8 v = 30; address sender = msg.sender; } }