Solidity “如何修复错误”;本声明包含一项激励性声明;坚固吗?

Solidity “如何修复错误”;本声明包含一项激励性声明;坚固吗?,solidity,Solidity,我正在写一些代码来设计一个智能合约。但是每次我说“警告:这个声明隐藏了一个现有的声明”时,我总是会遇到同样的错误。我还没有找到可能的解决方案,因为我不熟悉solidity语言: contract Diamondtracability { uint private diamondIDengravement; uint private diamondIDdatabase; uint public buyerID; //uint private diamondIDengravement =

我正在写一些代码来设计一个智能合约。但是每次我说“警告:这个声明隐藏了一个现有的声明”时,我总是会遇到同样的错误。我还没有找到可能的解决方案,因为我不熟悉solidity语言:

contract Diamondtracability {

uint private diamondIDengravement;
uint private diamondIDdatabase;
uint public buyerID;

   //uint private diamondIDengravement = diamondIDdatabase;
   //string[] public diamondDirectory;

constructor() public {
    diamondIDengravement = 1;
    diamondIDdatabase = 1;
    buyerID = 1;
}

function set(uint diamondIDengravement) public {
    diamondIDengravement = _diamondIDdatabase
}

function get(uint) interface returns public {
    return diamondIDengravement;return diamondIDdatabase;return buyerID
}
}

下面所述的功能应该可以工作,但我自己找不到解决方案:

function set(uint diamondIDengravement) public {
diamondIDengravement = _diamondIDdatabase
}

这不是一个错误。这是一个警告

但这可能就是你想要的东西,比如:

function set(uint _diamondIDengravement) public {
    diamondIDengravement = _diamondIDengravement;
}
基本上,您已经有一个名为
DiamondEdingRavement
的状态变量,因此用相同的名称命名函数参数是个坏主意。您可以为参数使用任何其他名称,但按照惯例,如果您只是想避免名称冲突,那么在前面添加下划线是一种很好的方法来指示您正在执行的操作

但是你的代码没有什么意义,所以很难说出你想做什么。(我不确定你打算做什么,所以我猜了一下。)