【发布时间】:2013-07-13 01:26:46
【问题描述】:
我的问题很简单:我正在使用 SDL 创建一个简单的模拟,我想将 TTF_Font 类型的实例存储在智能指针 (shared_ptr) 中,但我不断收到此错误:
“‘sizeof’对不完整类型‘_TTF_Font’的无效应用”
有没有办法使用来自外部库的不完整类型的智能指针而不将它们的源代码合并到我的程序中?
编辑:
TTF_Font 被声明为
typedef struct _TTF_Font TTF_Font;
_TTF_Font 依次在编译的外部库中定义。
我对 TTF_Font 的使用只是构造一个新的堆栈分配的 shared_ptr 实例,并带有一个指向 TTF_Font 的原始指针:
auto font_sp = std::shared_ptr<TTF_Font>(font_p);
我在这里没有明确使用 sizeof。
【问题讨论】:
-
请显示一些代码。您如何使用 sizeof 运算符以及 TTF_Font 定义为什么?
标签: c++ sdl shared-ptr