> This works for me: > > #>? > class ScmStkFrames { > ScmStkFrames( unsigned int nFrames, unsigned int nChannels, bool > interleaved ) : StkFrames(nFrames, nChannels, interleaved) {} > }; > <# >
fmscm.scm ---------- (use tinyclos) #>? class ScmStkFrames : public StkFrames { public: ScmStkFrames( unsigned int nFrames, unsigned int nChannels, bool interleaved ) : StkFrames(nFrames, nChannels, interleaved) {} }; <# Then compile with: csc -c -c++ -X easyffi fmscm.scm The diff between your code snippet and mine that makes the difference is the "public:" visibility modifier being there or not. Cheers, Carlos On Mon, 2007-03-12 at 09:48 +0100, felix winkelmann wrote: > On 3/12/07, Carlos Pita <[EMAIL PROTECTED]> wrote: > > I was thinking a bit more about this and concluded that it wouldn't be > > possible to derive from an abstract C++ class in tinyclos anyway > > (because of the impossibility of constructing an instance of that class > > from anywhere but a subclass C++ constructor). So I decided to subclass > > the problematic class from C++ providing default dummy implementations > > for the abstract methods. Now I must call the (non-default) constructor > > of the subclass and I'm having trouble with the easyffi parser for the > > syntax: ctor(...) : base-ctor(..) {}. One thing I can do to solve this > > is to put the definition inside a #> <# block and the declaration inside > > a #>? <# block (instead of putting the definition once in-between #>! > > <#). But in any case, the easyffi documentation in > > http://galinha.ucpel.tche.br:8080//easyffi#foreign-include-path states > > that the grammar supports calling base constructors: > > > > CONSTRUCTOR = ["___callback" | "___safe"] ["explicit"] ID "(" ARGTYPE > > "," ... ")" [BASECONSTRUCTORS] [CODE] > > > > Specifically, the problematic line is: > > > > ScmStkFrames( unsigned int nFrames, unsigned int nChannels, bool > > interleaved ) : StkFrames(nFrames, nChannels, interleaved) {} > > > > And the reported error is: > > > > Error: during expansion of (foreign-parse ...) - unexpected tokens: ((op > > ":") (id "StkFrames") open-paren (id "nFrames") comma (id "nChannels") > > comma (id "interleaved") close-paren (scope)) > > > > Can you provide a complete example? > > > cheers, > felix __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users