pardon , shodan , il codice è quello che ho postato e ho visto che compila.

Il problema è che se includo solo un interfaccia, nello specifico "class CBeamDSChess;" non compila, mi da questi errori:


c:\testdatasetcmpimportapi\CmpFrg\Factory1.cpp(34) : error C2027: use of undefined type 'CBeamDSChess'

c:\testdatasetcmpimportapi\CmpFrg\Factory1.cpp(34) : error C2065: 'instance' : undeclared identifier


e il problema è assegnare l'indirizzo della funzione

codice:
BASE_CREATE_FN fz = &CBeamDSChess::instance ;

il typedef è :

typedef  CBeamDSChess* (*BASE_CREATE_FN)();
se metto l'include a "BeamDsChess.h" compila correttamente.