c++ - 是否可以在不包含头文件的情况下在头文件中使用类,同时在 cpp 文件中使用相同的类?
问题描述
我正在尝试使用来自不同语言的闭源 C++ 库(只能访问头文件)中的类,但是在包含类的头文件时绑定生成器会失败。因此,我需要为该库编写一个 C++ 包装器,但我不能在包装器的头文件中包含该类的头文件,因为如果包含它,bindgen 将失败。
有没有办法在不包含的头文件中使用一个类,同时还允许单独读取该头文件(可能使用typedef
or extern
)?
我理想情况下想要的设置示例:
CompiledCode.hpp
class Foo {
...
}
wrapper.hpp
// Magic to allow me to use the class name Foo as a return type
Foo createFoo();
wrapper.cpp
#include "CompiledCode.hpp"
#include "wrapper.hpp"
Foo createFoo() {
return Foo::create();
}
解决方案
推荐阅读
- magento - Magento2:管理员中的 UI 选择和搜索下拉值依赖项
- python - 训练历史与验证历史非常相似是否可以?
- python - 使用活页夹解决 jupyter notebook 中找不到的模块
- c - 创建一个简单的内存驻留程序
- node.js - 训练失败 - AWS 机器学习
- python - 检查各种(不同)模式的字符串
- amazon-web-services - 为什么我无法在 AWS 上访问我的 RabbitMQ 代理?
- go - 使用 openapi-generator 解析错误(类型无效,将其设置为字符串)
- docker - 构建并运行 Quarkus 的 Docker 镜像
- javascript - 使用钩子的 react-sortable-tree Crud 操作