我的标题
中有结构声明#ifndef _MAP_IMPL_
typedef struct { } *MapADT;
#endif
然后我在我的源文件中定义它
typedef struct Key {
void * value;
void * keyVal;
struct Key * next;
} Key;
// Defining struct MapADT
typedef struct {
Key *keys; // Head of keys
bool (*equals)( const void *a, const void *b );
}*MapADT;
#define _MAP_IMPL_
#include "mapADT.h" // Header file
这在Linux上完全正常,但由于某种原因,VS真的很讨厌它。 这有什么工作吗?
Visual Studio给出了一个错误,指示
“C要求结构或联合至少有一个成员”