Solidity
Mist 錯誤:“無法編譯原始碼”
圖像包含我編寫的錯誤和程式碼。我在我的程式碼中使用了繼承。
你應該有
owner = msg.sender
。否則我會收到以下錯誤:Error: Expression has to be an lvalue. msg.sender = owner; ^--------^
在我得到它之後,我沒有得到任何錯誤。這是有道理的,因為您希望將合約的創建者(即消息發送者)指定為合約的所有者。
你在哪裡使用繼承,因為我沒有看到它。繼承類似於
contract User is mortal
{…}
對於您的問題,我沒有答案,但請嘗試在solidity 瀏覽器編譯器中編譯此程式碼。如果它編譯,那麼 Mist 有問題。這是編譯器的連結
剛剛注意到第 7 行應該有 owner = msg.sender
據我了解,每個地址只能部署一份合約。這意味著您只能部署 User 或 Mortal 合約。但是,您可以將它們編譯在一起(您正在嘗試做的事情)並在內部連接它們。
例如,如果您在使用者契約中執行以下操作:
address mortal = new mortal()
編譯器/EVM 將部署新的合約 mortal 並返回它的地址,該地址將在 mortal 變數中可用。
然後在您的使用者契約程式碼中,您可以執行以下操作:
mortal.kill()