如何解决如何制作 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 举报,一经查实,本站将立刻删除。