d:\build\parrot\include\parrot\interpreter.h(40) : error C2040: 'Parrot_Interp' : 'struct Parrot_Interp *' differs in levels of indirection from 'struct Parrot_Interp'
My compiler doesn't like the following: typedef struct Parrot_Interp *Parrot_Interp; in interpreter.h. It's a blame practice just as like #define struct_val ptrs.struct_val and I have no idea how to fix that problem 'cause the source and the headers are overflooded with the both struct Parrot_Interp * and its synonim Parrot_Interp Further: d:\build\parrot\include\parrot\datatypes.h(120) : error C2899: typename cannot be used outside a template declaration Here is what in datatypes.h causes that error: INTVAL Parrot_get_datatype_enum(Interp * interpreter, STRING *typename); typename is a keyword in C++. This declaration INTVAL Parrot_get_datatype_enum(struct Parrot_Interp *, STRING *); would be okay.