Trato de usar IterableMapping
por 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)
{
}
}
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
Richard Horrocks
im_myUintUintMap
ningún lugar (a menos que esté en otro lugar del código que no está incluido en su fragmento).Stepan Poperechnyi
Richard Horrocks
im_myUintUintMap
. Esa variable no existe. Tienes que cambiarim_myUintUintMap.insert()
aim_myAddressUintMap.insert()
.Richard Horrocks
itMaps.itMapUintUint im_myUintUintMap;
:)Stepan Poperechnyi
Richard Horrocks
_key
yvalue
? Se los está pasando ainsert()
, pero no existen.Stepan Poperechnyi