Leere Adresse in Struct

Warum wird getProduct(..)bei Browser-Solidity immer eine leere Adresse 0x00 zurückgegeben?

pragma solidity ^0.4.7;

contract Products {
    struct Product {
        bytes32 name;
        uint votes;
        address company;
    }

    mapping (uint => Product) products;
    mapping (address => uint) companyProductsCounter;
    uint private counter;

    function Products () {
        counter = 0;
    }

    function registerProduct( bytes32 productName) {
        products[counter++] = Product({name: productName, votes: 0, company: msg.sender});
    }

    function getProduct(uint code) constant returns (bytes32 name, uint votes, address company) {
        products[code].name;
        products[code].votes;
        products[code].company;
    }
}
Wie rufst du die getProductFunktion auf?

Antworten (1)

Könnte es daran liegen, dass die Rückgabeparameter von getProduct(unit)nicht gesetzt sind?

Versuchen:

function getProduct(uint code) constant returns (bytes32 name, uint votes, address company) {
    name=products[code].name;
    votes=products[code].votes;
    company=products[code].company;
}