为什么你不能把合同中的字符串传递给合同?

Dap*_*Dap 6 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;
    }

}
Run Code Online (Sandbox Code Playgroud)

小智 1

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