Ethereum 以太坊混音在部署合约时是否会忽略某些功能参数?

Ethereum 以太坊混音在部署合约时是否会忽略某些功能参数?,ethereum,solidity,smartcontracts,ether,remix,Ethereum,Solidity,Smartcontracts,Ether,Remix,我有一份合同是用。在复制合同并编写mocha测试之后,我在运行部署测试时收到以下错误: 错误:“未定义”的参数数无效 1) 在每个“钩子”部署契约之前: 错误:“未定义”的参数数无效。得到0个期望值1 构造函数以前使用了一个参数& 我意识到我错误地将变量类型地址作为测试(契约)构造函数的参数,而我在测试中没有提供该参数。删除参数(构造函数中未使用)后,测试通过 function Test(address) public {... 它在混音中工作(没有错误/警告),正如我预期的那样,因此在将代码

我有一份合同是用。在复制合同并编写mocha测试之后,我在运行部署测试时收到以下错误:

错误:“未定义”的参数数无效

1) 在每个“钩子”部署契约之前: 错误:“未定义”的参数数无效。得到0个期望值1

构造函数以前使用了一个参数& 我意识到我错误地将变量类型地址作为测试(契约)构造函数的参数,而我在测试中没有提供该参数。删除参数(构造函数中未使用)后,测试通过

function Test(address) public {...
它在混音中工作(没有错误/警告),正如我预期的那样,因此在将代码复制到编辑器之前,我没有捕捉到它

remix在部署契约时是否会忽略错误的参数?有没有办法在混音中捕捉到这一点

remix在部署合约时是否会忽略未使用的参数

实际上,当您未使用参数时,它会给您一个警告:

警告:未使用的函数参数。删除或注释掉变量名以消除此警告。函数演示(地址未使用)公共纯返回(uint8){

但是,如果您只提供变量类型而没有名称,那么remix就会忽略它:


有没有办法在混音中捕捉到这一点


如果无名变量的值存储在堆栈上,则可以在中捕获这样的内容,但这是对Solidity代码编译方式的深入研究,可能不适合仅用于测试。

标记请求:我注意到Ethereum Solidity IDE“remix”没有标记。Solidity是一个有效的标记,但remix有不存在。专用以太坊交换网站有这个标签,但这里不应该也有用于编程相关问题的标签吗?对它的简单搜索表明有足够的问题可以证明一个。有许多IDE和文本编辑器的标签,但没有一个用于混音的标签。我没有代表,或者我自己创建它。