我正在尝试在 C++ 应用程序中使用 OpenCA (libPKI) 库。但是,当包含文件 pki_x509_data_st.h 时,会遇到以下代码片段:
typedef struct pki_x509_callbacks_st {
/* ---------------- Memory Management -------------------- */
void * (*new) (void );
void (*free) (void *x );
void * (*dup) (void *x );
由于“新”指针声明,这不会编译。
我怎样才能让它工作?
更新
重命名“新”变量后,我遇到了一些新问题(“在结构之后使用 typedef 名称”等)。我想避免更改过多的旧 C 代码(修改库头文件让我感到紧张),所以我决定只创建一个最小的隔离层。