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.

Reply via email to