首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实心度: TypeError无效类型。请求的从类型(字符串存储指针)到字符串内存的隐式转换无效

实心度: TypeError无效类型。请求的从类型(字符串存储指针)到字符串内存的隐式转换无效
EN

Stack Overflow用户
提问于 2021-09-16 14:11:21
回答 1查看 390关注 0票数 0

我正在尝试从结构返回值,不同的方法都是成功的

代码语言:javascript
复制
struct Briefing {
        string description;
        uint max_influencer;
        uint jobvalue;
        bool achievement;
        }

function getSummary() public view returns (Briefing) {
        return Briefing (
        string, 
        uint,
        uint, 
        bool
        ); 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-16 14:28:31

在使用引用类型(如struct)时,总是需要指定数据位置。在本例中,它是内存,因为您需要首先将值加载到内存中,然后从内存中返回它们。

您的问题没有指定是需要返回struct的新实例,还是需要从存储中加载它,所以下面是这两个实例的示例:

代码语言:javascript
复制
pragma solidity ^0.8;

contract MyContract {
    struct Briefing {
        string description;
        uint max_influencer;
        uint jobvalue;
        bool achievement;
    }
    
    Briefing summary;

    function getSummaryHardcoded() public view returns (Briefing memory) {
        return Briefing("desc", 1, 1, true);
    }

    function getSummaryStored() public view returns (Briefing memory) {
        return summary;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69210046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档