Re: C++ Function With Default Arguments?
Lluís Alemany Puig <[email protected]> Thu, 23 Sep 2021 07:31:30 +0200
| Newsgroups | gmane.comp.programming.swig |
|---|---|
| Message-ID | <[email protected]> |
You could try by adding
%include stdint.i
in the appropriate location in your *.i file.
I didn't try this myself, but that's what I usually do when I use
uint32_t, int32_t, irrespective of default parameters.
Cheers,
L
On 23/9/21 5:30, H C wrote:
> Hi,
>
> I have the following C++ function in `say.hpp`:
>
> #include <iostream>
>
>
> void say(const char* text, const uint32_t x = 16, const uint32_t y
> = 24, const int32_t z = -1) {
> std::cout << text << std::endl;
> }
>
>
> Here is my `say.i`:
>
> %module say
> %{
> #include "say.hpp"
> %}
>
> %include "say.hpp"
>
> Then, I built the shared library:
>
> $ swig -python -c++ -I/usr/include say.i
> $ g++ -fPIC -c say_wrap.cxx
> -I/opt/rh/rh-python38/root/usr/include/python3.8
> $ g++ -shared say_wrap.o -o _say.so
>
> Then, I tried to call it:
>
> >>> import say
> >>> say.say("hello")
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/home/hc/test/cpp/say.py", line 66, in say
> return _say.say(text, x, y, z)
> TypeError: Wrong number or type of arguments for overloaded
> function 'say'.
> Possible C/C++ prototypes are:
> say(char const *,uint32_t const,uint32_t const,int32_t const)
> say(char const *,uint32_t const,uint32_t const)
> say(char const *,uint32_t const)
> say(char const *)
>
> >>>
>
> It seems something is wrong with having default values for the
> function parameters as once I remove them, it works.
>
> I searched the mailing list, it seems there was a similar issue back
> in 2015:
> https://sourceforge.net/p/swig/mailman/swig-user/thread/9693B382-97FB-41F2-BD0E-D5C009BA087D%40arlut.utexas.edu/#msg33340062
> <https://sourceforge.net/p/swig/mailman/swig-user/thread/9693B382-97FB-41F2-BD0E-D5C009BA087D%40arlut.utexas.edu/#msg33340062>
>
> Is it the same bug?
>
> Thanks!
>
>
> _______________________________________________
> Swig-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/swig-user
_______________________________________________
Swig-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/swig-user