微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何制作 Aspose.Slides SharedPtr<T> const?

如何解决如何制作 Aspose.Slides SharedPtr<T> const?

非常简单的 C++ 问题。这是 Aspose 幻灯片 C++ 库。

SharedPtr<MemoryStream> stream = MakeObject<MemoryStream>();

上面的行有效。但是我怎样才能使流成为常量?

const SharedPtr<MemoryStream> stream = MakeObject<MemoryStream>();

这只是返回 SharedPtr。我怎样才能让它“const SharedPtr”?

是的,我对 C++ 不是很有经验..

编辑:

更多信息:

所以我需要 const,因为我需要将结果传递给一个期望 const SharedPtr<T> 作为参数的函数

void    Save (const SharedPtr< System::IO::Stream > &stream,const Imaging::ImageFormatPtr &format)

问题在于:

const SharedPtr<MemoryStream> stream = MakeObject<MemoryStream>();

不返回 const SharedPtr<T>, 它只是出于某种原因返回 SharedPtr<T>。这就是奇怪的事情。

这是我的代码中的相关部分:

    const ImageFormatPtr png = System::Drawing::Imaging::ImageFormat::get_Png();
    const ImageFormatPtr jpeg = System::Drawing::Imaging::ImageFormat::get_Jpeg();
    
    if (format != "png" && format != "jpeg")
    {
        throw PHP::Exception("Invalid format: " + format);
    }

    try
    {
        SharedPtr<System::Drawing::Bitmap> bmp = _slide->GetThumbnail(scaleX,scaleY);
// This is not const!
        const SharedPtr<MemoryStream> stream = MakeObject<MemoryStream>(); 

// ... stream is supposed to be const here
        bmp->Save(stream,format == "png" ? png : jpeg);

提前致谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。