因此,我目前正在将一个小的C库导入一个新的空C ++项目,但是它根本无法编译。它可以很好地与C一起编译,但根本不能与C ++一起编译。我唯一要做的就是包含标题。
这似乎是语法错误,但可能还有其他问题。这是编译器唯一要注意的事情:
error: expected unqualified-id before 'export'
bool (*export)(struct wld_exporter * exporter, struct wld_buffer * buffer, uint32_t type, union wld_object * object);
error: expected ')' before 'export'
由于我认为这是一个语法问题,所以我只是不知道该怎么做,而是尝试了一些愚蠢的事情,例如在导出后移动星号,而不是事先希望它可以工作,但显然没有。
我不知道为什么编译器无法识别它应该是一个函数指针,我之前在c ++中已经完成了c样式的函数指针,没有任何问题。
我正在使用gcc和C ++ 11,如果有什么区别。
最佳答案
export
是C ++中的关键字。您必须选择其他名称。
关于c++ - 函数指针声明在C中起作用,但在C++中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29048985/