小编Paw*_*tyl的帖子

shared_ptr与库中的不完整类型

我的问题很简单:我使用SDL创建一个简单的模拟,我想在智能指针(shared_ptr)中存储TTF_Font类型的实例,但我不断收到此错误:

"将'sizeof'无效应用于不完整类型'_TTF_Font'"

有没有办法使用外部库中不完整类型的智能指针而不将其源代码合并到我的程序中?

编辑:

TTF_Font声明为

typedef struct _TTF_Font TTF_Font;
Run Code Online (Sandbox Code Playgroud)

_TTF_Font又在编译的外部库中定义.

我对TTF_Font的使用只是构建一个新的堆栈分配的shared_ptr实例和一个指向TTF_Font的原始指针:

auto font_sp = std::shared_ptr<TTF_Font>(font_p);
Run Code Online (Sandbox Code Playgroud)

我这里没有明确使用sizeof.

c++ sdl shared-ptr

3
推荐指数
1
解决办法
3680
查看次数

标签 统计

c++ ×1

sdl ×1

shared-ptr ×1