Identificador esperado, obtuvo 'LParen'

Trato de usar IterableMappingpor este ejemplo . Tengo error al compilar contrato por trufa:

Identificador esperado, obtuvo 'LParen'

Este es mi código:

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) 
  { 
  }
}

ingrese la descripción de la imagen aquí

Parece que no ha definido im_myUintUintMapningún lugar (a menos que esté en otro lugar del código que no está incluido en su fragmento).
Defino 'im_myAddressUintMap' como ejemplo de 'itMaps.itMapAddressUint', pero no entiendo por qué no funciona.
Está intentando insertar un par clave/valor en una variable llamada im_myUintUintMap. Esa variable no existe. Tienes que cambiar im_myUintUintMap.insert()a im_myAddressUintMap.insert().
(O eso, o declarar la variable correcta itMaps.itMapUintUint im_myUintUintMap;:)
Ok, gracias, corrijo mi error, pero el problema no se resuelve.
Bien, lo siguiente: ¿qué es _keyy value? Se los está pasando a insert(), pero no existen.
clave es la dirección del propietario, ejemplo 0xC0222fBf1773A5e157e4d25Bf634E99C73C0637F, el valor es la cantidad de algo (tokens o cualquiera). Reescribo mi código.

Respuestas (1)

Hay varios problemas con su código.

Copie y pegue el prototipo de función en lugar de llamarlo, debe usarim_myAddressUintMap.insert( key, value);

Y tienes que hacer esta inserción dentro de una función o dentro del constructor (función con el nombre del contrato)

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

por lo que el contrato debe ser algo como esto

la segunda importación es para probar en remix

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);
  }
}

Editar: editaste tu contrato. El último error que tienes es la importación incorrecta de using itMaps for itMaps.itMapUintAddress;lo que estás usandoitMapAddressUint