Solidity

預期的標識符,得到“LParen”

  • December 31, 2018

我嘗試IterableMapping通過這個例子使用。當我用松露編譯合約時出現錯誤:

預期的標識符,得到“LParen”

這是我的程式碼:

pragma solidity ^0.4.15;

import "./itMapsLib.sol";

contract User
{
 using itMaps for itMaps.itMapUintAddress;

 itMaps.itMapAddressUint im_myAddressUintMap;

function addOwner(address _key, uint value) returns (bool){
  im_myAddressUintMap.insert(_key, value);
  return true;
}

 function allSum() returns (uint sum) 
 { 
 }
}

在此處輸入圖像描述

您的程式碼有幾個問題。

您複製粘貼函式原型而不是呼叫它應該使用 im_myAddressUintMap.insert( key, value);

而且您必須在函式內或建構子內進行此插入(具有契約名稱的函式)

function insert( address key, uint value ) public {
   im_myAddressUintMap.insert( key, value );
}

所以契約應該是這樣的

第二個導入是測試混音

pragma solidity ^0.4.15;

import "./itMapsLib.sol";  
//import "https://github.com/szerintedmi/solidity-itMapsLib/itMapsLib.sol";    

contract User
{
 using itMaps for itMaps.itMapAddressUint;

 itMaps.itMapAddressUint im_myAddressUintMap;

 function insert ( address key, uint value) public {
   im_myAddressUintMap.insert( key, value);
 }
}

編輯:您編輯了您的契約。using itMaps for itMaps.itMapUintAddress;您遇到的最後一個錯誤是您正在使用的錯誤導入itMapAddressUint

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