вызов простой функции из другого контракта

У меня возникают проблемы с вызовом функции y() в контракте pullother. Вход для функции y() является выходом функции g(). Когда я вызываю y(), используя этот ввод, вывод пуст ('', если быть точным), а не 15. Я не совсем уверен, что я здесь делаю неправильно, поскольку это, кажется, согласуется с примерами, которые я вижу в Интернете людей успешный вызов функций из других контрактов.

Ниже находится Untitled.sol

    pragma solidity ^0.4.6;

    contract helloworld {

    function f() returns (uint){
    return 15;
    }

    }

Ниже приведен контракт, который я хотел бы использовать для вызова функции f() в контракте helloworld.

pragma solidity ^0.4.6;

import "./Untitled.sol";

contract pullother {
address public hello;

function g() returns (address){
    hello = new helloworld();
    return hello;
}

function y(address contractadd) returns (uint){
    helloworld h = helloworld(contractadd);
    h.f();
}
}

Ответы (1)

Я попробовал ваш код в браузере Solidity, и он работает .

введите описание изображения здесь

Я думаю, вам нужно использовать

return h.f()
Я смог напрямую вызвать функцию f(). Я не могу вызвать функцию f(), вызвав функцию y(), где вход является выходом функции g(). Вы смогли это сделать?
да проверьте редактирование