执行智能合约时的Solidity错误消息:如果您发送值锟,则应该支付构造函数


林老爷的日常
2025-04-07 06:05:18 (1天前)


我正在尝试通过编写下面的智能合约来学习可靠性(请参阅下面的代码段)。
我已经能够成功编译(即没有错误)智能合约,其目标是……

2 条回复
  1. 0# 不易青年。 | 2019-08-31 10-32



    我执行了你的代码并深入研究。请注意,目前重新混合和可靠性不会显示良好且有意义的错误消息。



    这里的问题是你的构造函数是应付的:




    1. constructor() public payable {
      owner = msg.sender;
      fortune = msg.value;
      isDeceased = false;
      }

    2. </code>


    如果你执行

    constructor

    没有任何价值,它也会执行

    setInheritance

    将在没有错误的情况下执行并且当您尝试运行时

    deceased

    功能是另一个应付功能,那么事情就会爆炸。混音会说构造函数是应付的,但没有发送任何价值。



    请尝试发送一些

    value

    如果你想运行任何

    payable function

    。在这里,您可以为应付函数写入值。

    1. <a href="https://i.stack.imgur.com/9UKnj.png" rel="nofollow noreferrer">
    2. <img src =“https://i.stack.imgur.com/9UKnj.png”alt =“在此处输入图片说明”/>
    3. </A>



    希望能帮助到你。


登录 后才能参与评论