为什么你不能将字符串从合同传递给合同?

时间:2017-07-09 00:45:50

标签: solidity

当调用尝试将字符串从合同传递给合同时,我收到错误。在getName中有错误。我知道你不能传递字符串,但原因是什么?

  

返回参数类型不可访问的动态类型不是隐式的   可转换为期望类型(第一个返回变量的类型)字符串   记忆。 return toBeCalled.getName();

pragma solidity ^0.1.0;

contract ToContract{
    FromContract fromContract = new FromContract();

    function getName() constant returns (string) {
        return fromContract.getName();
    }

}

contract FromContract{
    string name = 'dapp';

    function getName() constant return(string){
        return name;
    }

}

1 个答案:

答案 0 :(得分:1)

牢固地将字符串“ Hey”内部存储为[“ H”,“ e”,“ y”],这是一个动态数组。到目前为止,它不支持传递动态数组。您可以尝试通过将字符串作为对象的一部分传递来解决此问题。