HAHN_K@DMRHRZ11.BITNET (01/28/89)
Last night I came across a problem I simply do not understand. Of
course it must be my mistake, compilers always are correct ;-) I
tried to declare a struct with space for a pointer to a function
and to later evaluate that very pointer. Nothing unusual, yeah?
Well, MWC 3.0.6 gave me an 'in cc1: Internal compiler error: no match,
op=61' ... an left. Here's the code, stripped down to the very problem:
/* test_struc.c */
#include "test.h"
activate()
{
float f1;
f1 = (*my_mind.fp)();
}
/* end of test_struc.c */
/* test.h */
typedef struct {
int a,b,c;
float f;
float (*fp)();
} MIND;
MIND my_mind;
/* end of test.h */
I guess you can tell me why this doesn't work? You remember the Pet Shop
Boys (or was it Frank Sinatra?): WHAT HAVE I DONE TO DESERVE THIS?
Cheers,
-Klaus.
Klaus Hahn
Marburg, West-Germany
Bitnet: HAHN_K@DMRHRZ11
Bix: K_HAHN