【发布时间】:2010-05-15 18:11:31
【问题描述】:
我在编写使用为 C 文件设计的头文件的 C++ 代码时遇到问题。特别是头文件使用了一个名为class的变量名:
int BPY_class_validate(const char *class_type, PyObject *class, PyObject *base_class, BPY_class_attr_check* class_attrs, PyObject **py_class_attrs);
这在 C 中有效,因为 class 不是关键字,但在 C++ 中,class 是。那么无论如何我可以#include这个头文件到一个c ++文件中,还是我不走运?
谢谢。
【问题讨论】:
-
如果该代码没有准备好被 C++ 编译器解析,请准备好迎接更多的麻烦。例如,如果这是您要链接的 C 库,则所有声明都应包含在
extern "C"中,以便链接器知道它需要查找未损坏的符号。 -
当我将#include 包装在外部“C”中时,编译器仍然会出错。我应该在你的里面加入 aaa 的把戏吗?
-
我刚刚意识到这是一个 Python 标头。我不知道您使用的是哪个标头以及它的用途,但是您知道boost.org/doc/libs/1_43_0/libs/python/doc/index.html吗?
标签: c++ c keyword header-files