Solidity

如何修復“DeclarationError: Identifier not found or not unique”?

  • February 18, 2022

我有一個問題..不知道為什麼它在呼叫“SimpleStorage”時給我提到的錯誤

$$ $$public simpleStorageArray;”在程式碼的第 4 行。感謝您的幫助!

pragma solidity ^0.6.0;

import "./SimpleStorage.sol";

contract StorageFactory {

   SimpleStorage[] public simpleStorageArray;

   function createSimpleStorageContract() public {
       SimpleStorage simpleStorage = new SimpleStorage();
       simpleStorageArray.push(simpleStorage);
   }
}

或者struct在契約下定義一個你需要的變數,這樣就可以定義 SimpleStorage。

contract StorageFactory {

   struct SimpleStorage{
       string name;
       uint data;
   }

   SimpleStorage[] public simpleStorageArray;
}

或者在我看來,您導入的"./SimpleStorage.sol"文件可能具有所需的結構數據,因此您可以查看 SimpleStorage.sol 文件並複制契約名稱,然後在您的主文件中執行

contract StorageFactory is ContractName //Use the contract name you got in SimpleStorage.sol

這將允許它從 SimpleStorage.sol 文件中獲取結構數據。

引用自:https://ethereum.stackexchange.com/questions/121897