How to fix "DeclarationError: Identifier not found or not unique"?
How to fix "DeclarationError: Identifier not found or not unique"?
我在 calling/deploying 我以前的合同在新合同“SimpleStorage[] public simplestoragearray;”中时遇到错误在代码的第 4 行。
// SPDX-License-Identifier: MIT
pragma_solidity ^0.8.0;
import "./SimpleStorage.sol";
contract StorageFactory{
SimpleStorage[] public simplestoragearray;
function createsimplestoragecontract() public {
SimpleStorage simplestorage = new SimpleStorage();
simplestoragearray.push(simplestorage);
}
}
错误信息:
from solidity: DeclarationError: Identifier not found or not unique.
--> contracts/test contracts/StorageFactory.sol:8:5: | 8 | SimpleStorage[] public simplestoragearray; | ^^^^^^^^^^^^^
您的合同名称可能与您的文件名称不同。
更改合同名称,使其与文件名相同。
将合同文件命名为与合同相同的名称是标准做法。
所以在 SimpleStorage.sol 里面应该是:
contract SimpleStorage { ... }
我在 calling/deploying 我以前的合同在新合同“SimpleStorage[] public simplestoragearray;”中时遇到错误在代码的第 4 行。
// SPDX-License-Identifier: MIT
pragma_solidity ^0.8.0;
import "./SimpleStorage.sol";
contract StorageFactory{
SimpleStorage[] public simplestoragearray;
function createsimplestoragecontract() public {
SimpleStorage simplestorage = new SimpleStorage();
simplestoragearray.push(simplestorage);
}
}
错误信息:
from solidity: DeclarationError: Identifier not found or not unique. --> contracts/test contracts/StorageFactory.sol:8:5: | 8 | SimpleStorage[] public simplestoragearray; | ^^^^^^^^^^^^^
您的合同名称可能与您的文件名称不同。
更改合同名称,使其与文件名相同。
将合同文件命名为与合同相同的名称是标准做法。
所以在 SimpleStorage.sol 里面应该是:
contract SimpleStorage { ... }