美文网首页
关于c++参数返回返回临时变量返回局部变量地址错误的解决

关于c++参数返回返回临时变量返回局部变量地址错误的解决

作者: 吉凶以情迁 | 来源:发表于2023-07-09 15:58 被阅读0次

    错误代码

    FBox* UIActorExtensionMethods::GetComponentsBoundingBoxX(AActor* This)
    {
        FBox box1 = This->GetComponentsBoundingBox();
        return &box1;//则提示返回临时变量返回局部变量地址错误
    }
    
    MDYO%J~RT3CM4H2{[T]PZ}W.png

    推荐使用传递引用的办法。

    
    FBox* UIActorExtensionMethods::GetComponentsBoundingBoxX(AActor* This)
    {
        FBox* box1 = new FBox(This->GetComponentsBoundingBox());
        return box1;//如果直接 FBox =This->GetComponentsBoundingBox()然后&FBox 则提示返回临时变量返回局部变量地址错误
    }
    
    
    FBox UIActorExtensionMethods::GetComponentsBoundingBoxX1(AActor* This)
    {
        static FBox box1 = This->GetComponentsBoundingBox();
        return box1;
    }
    
    void UIActorExtensionMethods::GetComponentsBoundingBoxX2(AActor* This, FBox& OutBox)
    {
        OutBox = This->GetComponentsBoundingBox();
        
    }
    

    相关文章

      网友评论

          本文标题:关于c++参数返回返回临时变量返回局部变量地址错误的解决

          本文链接:https://www.haomeiwen.com/subject/mbesudtx.html