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

时间:2015-03-14 12:33:50

标签: c++ c++11 function-pointers

所以我目前正在将一个小型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-style之前没有任何问题。

如果有任何不同,我正在使用gcc和C ++ 11。

2 个答案:

答案 0 :(得分:5)

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

此处的关键字列表:C++ keywords

答案 1 :(得分:4)

export是C ++中的关键字。您必须选择其他名称。