我在 Solidity 中编写了一个基本的构造函数代码,但我收到了这个错误。是版本问题吗?

I have written a abasic constructor code in Solidity but I am getting this error. Is it the version issue?

pragma solidity ^0.5.17; 

contract MyConstructor {
    
    // string str; //declaring state variable ; 
    
    // constructor() public {    //creating constructor to set value for "str"
    //     str = "bye" ; 
    // }
    
    // function getValue() public view returns(string memory) {
    //      return str;  
    // }
    
    //DIRECT INITIALIZATION 
    
     uint data ; 
     
     constructor(uint _data) public {
         data = _data ; 
     }
     
     function getData() public returns(string memory) {
         return "hello world"; 
     }
}

创建 MyConstructor 出错:

Error encoding arguments: Error: invalid BigNumber string (argument="value", value="", code=INVALID_ARGUMENT, version=bignumber/5.4.1)

出现该错误是因为在实现合约时必须在构造函数中指定一个值。如果不传递值,合约将抛出此错误。我附上了一张图片,其中包含您在 ide remix 中工作的代码。

使用代码重新混合 ss: