函数指针声明在C中起作用,但在C++中起作用

Joh*_*olt 0 c++ function-pointers c++11

所以我目前正在将一个小型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'
Run Code Online (Sandbox Code Playgroud)

因为我认为这是一个语法问题,我只是不知道该怎么做,并尝试愚蠢的事情,如在导出后移动asterix而不是之前希望它可以工作,但它显然没有.

我不知道为什么编译器无法识别它应该是一个函数指针,我在c ++中完成了函数指针c-style之前没有任何问题.

我使用gcc和C++ 11,如果这有任何区别.

Mat*_*Mat 5

export 是C++中的关键字,您不能将其用作标识符.

这里的关键字列表:C++关键字