函数指针声明在 C 中有效,但在 C++ 中无效
Function pointer declaration works in C but not in C++
所以我目前正在将一个小型 C 库导入到一个新的空 C++ 项目中,但它根本无法编译。它用 C 编译它工作得很好,但它根本不适用于 C++。我唯一要做的就是包括 header.
这似乎是语法错误,但也可能是其他原因。这是编译器唯一唠叨的事情:
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,如果这有什么不同的话。
export
是 C++ 中的关键字。您必须选择一个不同的名称。
export
是C++中的关键字,不能作为标识符使用。
关键字列表在这里:C++ keywords
所以我目前正在将一个小型 C 库导入到一个新的空 C++ 项目中,但它根本无法编译。它用 C 编译它工作得很好,但它根本不适用于 C++。我唯一要做的就是包括 header.
这似乎是语法错误,但也可能是其他原因。这是编译器唯一唠叨的事情:
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,如果这有什么不同的话。
export
是 C++ 中的关键字。您必须选择一个不同的名称。
export
是C++中的关键字,不能作为标识符使用。
关键字列表在这里:C++ keywords