ciao.
Sto utilizzando la libreria Code Synthesis http://www.codesynthesis.com/ , un xsd open source che genera classi c++ da un xsd e per farla breve fa tutto quello che fa l'xsd.exe di microsoft, solo che lo fa per il c++.
ora , vorrei creare un wrapper attorno a tutte le classi per avere una o piu funzioni membro oltre a quelle che gia ci sono, in questo caso la
void print().
codice:
 template < class T >
	class pippo : public T
	{ 
	public:		
	pippo (const ::xercesc::DOMElement& e,
                  ::xml_schema::flags f = 0,
				  ::xml_schema::container* c = 0){};

    pippo (const T& x,
                  ::xml_schema::flags f = 0,
				  ::xml_schema::container* c = 0){};
		void print(){};
	};
sempre tramite command line posso instanziare il template in modo da generare questo codice per tutte le classi col tipo xsd generato base_XXX:
codice:
typedef xml_schema::pippo<base_contact> contact;
dove base_contact è il tipo generato dall xsd come classe c++.
Ora, farlo per tutte le classi è facile, perchè posso usare le espressioni reglari per instanziare tutte le classi che voglio e ho moltissime classi.

veniamo alle note dolenti: se genero ottengo:

Error 1 error C2512: 'contacts::base_contact' : no appropriate default constructor available c:\ifc\codesynthesis xsd 3.3\examples\cxx\tree\custom\contacts\ifc\contacts .hxx 213 contacts 1

quando si eredita non si ereditano anche i costruttori?
inoltre non posso permettermi di inserire in tutte le classi un costruttore di default, e poi perchè normalmente funziona senza il costruttore di default?

come posso risolvere?

grazie.