我正在尝试建立一个第三方库,该库具有在公共标头中定义的功能,例如
void reset(void* instance);
Run Code Online (Sandbox Code Playgroud)
并在执行中
void reset(instance_type* instance) {
...
}
Run Code Online (Sandbox Code Playgroud)
而且我遇到了一个冲突的类型编译器错误。现在,这对我来说似乎很明显。作者使用的是MSVC,而我使用的是设置为C99标准的gcc,也许这就是为什么它可以在作者的计算机上使用的原因?在不希望instance_type
通过公共接口公开的约束下,我可以做些什么最小的修改?
在不希望
instance_type
通过公共接口公开的约束下,我可以做些什么最小的修改?
该定义必须与标题中的声明一致。如果您不想instance_type
在公共API中公开,则意味着修改定义以匹配标头:
void reset(void* _instance) {
instance_type* instance = _instance;
...
}
Run Code Online (Sandbox Code Playgroud)