我的问题很简单:我正在使用 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 。