2

有一个 C++ 类已编译到库中,但我可以访问它的源代码;但是,由于该类未在任何头文件中定义,因此我不能简单地包含然后链接 libray。我不想更改库源代码,但我希望为我利用类函数,可以吗?

也许extern会有所帮助,但我只是没有正确的语法。

4

1 回答 1

4

如果不将类声明“移动”到库和您的应用程序都使用的头文件,就不可能[或至少不是一个好主意]。

当然,技术上可以将类声明添加到您的 .cpp 文件(或某些头文件)中,但这不是很可靠,因为有人可能会更改库代码中的类,然后您的类声明不兼容,这是“未定义的行为”——这意味着您的代码通常会做一些不同于您想要它做的事情。

当然,该类不在标头中的事实似乎暗示它“仅供内部使用”。

于 2013-09-06T13:48:32.217 回答