Am 06/19/2008 08:28 PM schrieb Robert Bradshaw: > On Jun 19, 2008, at 11:23 AM, Johannes Wienke wrote: > >> Am 06/19/2008 08:09 PM schrieb Robert Bradshaw: >>> On Jun 19, 2008, at 5:07 AM, Johannes Wienke wrote: >>>> is there a was to use default values for parameters in cdef or cpdef >>>> methods? I observed that using them in the pxd files caused a cython >>>> compiler error and using the only in the implementation causes a C >>>> compiler error. >>> >>> Yes, you need to declare them to have default parameters in .pxd files, >>> then can use them in .pyx files. For example: >>> >>> ---- pxd ---- >>> >>> cdef foo(x, y=*) >> >> The compiler told me to use '?'. Is that a "bug" in the error message? > > No, both are acceptable.
Ok, then it didn't solve my problem. Jus tried that out and as both *
and ? are possible, I got the same error message:
build/temp.linux-x86_64-2.4/pyrex/plugins.c: In function 'PyObject*
__pyx_pf_4ship_7icewing_7plugins_14PluginInstance_init(PyObject*,
PyObject*, PyObject*)':
build/temp.linux-x86_64-2.4/pyrex/plugins.c:1228: error: invalid lvalue
in unary '&'
error: command 'x86_64-pc-linux-gnu-g++' failed with exit status 1
My pxd file looks like that:
cpdef class PluginInstance(Plugin):
#....
cpdef getName(self)
cpdef init(self, args=*)
cpdef process(self, d)
And the method body:
cpdef init(self, args = ""):
argList = helpers.splitArgs(args)
# ...
The line in the C code that gcc does complain about is:
__pyx_1 = (__pyx_skip_dispatch = 1, ((struct
__pyx_vtabstruct_4ship_7icewing_7plugins_PluginInstance *)((struct
__pyx_obj_4ship_7icewing_7plugins_PluginInstance
*)__pyx_v_self)->__pyx_vtab)->init(((struct
__pyx_obj_4ship_7icewing_7plugins_PluginInstance *)__pyx_v_self), ((void
*)&((struct
__pyx_opt_args_4ship_7icewing_7plugins_14PluginInstance_init){1,__pyx_v_args}))));
if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93;
goto __pyx_L1;}
Is there something I am doing wrong?
Johannes
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
