gpt4 book ai didi

java - SWIG:使用 %typemap(javabase) 并在 Java 中调用父类(super class)构造函数

转载 作者:行者123 更新时间:2023-11-28 05:56:41 27 4
gpt4 key购买 nike

在 C++ 中

class A{
..
..
}

class B{
..
..
}

现在在 java 中,我能够生成 A.java、B.java 类。现在我想在 java A 中扩展 B。所以我使用了 %typemap(javabase) A“B”。我可以在 A.java 中看到 A 扩展了 B

现在我在 B 类中没有默认构造函数。所以在生成的 A.java 中出现错误

"implicit super constructor B() is undefined."

如果我手动将 super 添加到 A 的生成构造函数中,一切都会正常进行。但我不想编辑 A.java。

我可以使用 swig 类型映射为 A 生成调用 super 构造函数的构造函数吗?

最佳答案

    %typemap(javabody) A %{
private long swigCPtr;
protected boolean swigCMemOwn;

protected $javaclassname(long cPtr, boolean cMemoryOwn) {
super(cPtr,cMemoryOwn);
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
%}

解决了问题

关于java - SWIG:使用 %typemap(javabase) 并在 Java 中调用父类(super class)构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34020566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com