Anny Idea why following situation failes to compile? class A { public: A( LPCTSTR szParam ){}; ~A(){}; };
class B: public A { public: B( LPCTSTR szParam ) A(szParam){}; ~B(){}; static void includePyModuleDefinition(); }; void B::includePyModuleDefinition() { class_<B>("MyB", init< LPCTSTR >() ); } Compiler result is: error C2275: 'LPCTSTR' : illegal use of this type as an expression c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(391) : see declaration of 'LPCTSTR' error C2059: syntax error : ')' The eonly way to solve this issue by now are: - use no_init => not an option for me because I need the parameter - move the static member function out of the class B => unhappy because this would be a breach of my codeing std. for this module - remove the class inheritance for B to 'public A' The problem arises only if following three facts come togather: 1) inheritance from a base class 2) the includePyModuleDefinition() is a static member of the exposed class iteself 3) the init has to tale at least one param Regards, Adrian _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig