如何解决在C ++接口声明中使用关键字
我正在将Direct2D d2d1_1.h 头文件移植到Delphi中,但我陷入了一个声明。我不太清楚( d2d_1.h 中的第1522行):
interface DX_DECLARE_INTERFACE("e8f7fe7a-191c-466d-ad95-975678bda998") ID2D1DeviceContext : public ID2D1RenderTarget
{
STDMETHOD(CreateBitmap)(
D2D1_SIZE_U size,_In_opt_ CONST void *sourceData,UINT32 pitch,_In_ CONST D2D1_BITMAP_PROPERTIES1 *bitmapProperties,_COM_Outptr_ ID2D1Bitmap1 **bitmap
) PURE;
using ID2D1RenderTarget::CreateBitmap; //<<<<<====== This line
// More code deleted for simplicity
}; // ID2D1DeviceContext
在Delphi中,接口声明中没有诸如“ using ”关键字的概念。
我的问题是:我应该只是因为C ++编译器做了一些魔术而简单地忽略这一行吗?还是应该复制ID2D1RenderTarget::CreateBitmap
声明?
IMO接口实际上是指向所有方法的指针的数组。因此,我想我必须从继承的接口重现声明,以便占用其插槽。
解决方法
我的问题是:我应该因为C编译器做些魔术而简单地忽略这一行,还是应该重现ID2D1RenderTarget :: CreateBitmap声明?
using
声明基本上是在当前范围内引入在其他地方定义的类型。它具有允许写入CreateBitmap
而不是ID2D1RenderTarget::CreateBitmap
的效果。
从C ++移植到Delphi时,必须简单地忽略用“ using”关键字声明的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。