我在SWIG界面文件和名为测试的类中有以下声明:
%extend qual_name {
public:
~short_name()
{
//Do something here
};
}
以上声明在swig生成的CPP文件中生成 SWIGINTERN void delete_Test(Test * self)方法。问题是我有很多类,并且为所有 delete_XXX 方法生成了相同的代码。我想修改一个特定类的 delete_XXX 方法的内容。我该怎么做?
我尝试了%ignore 关键字,但这只是忽略了整个定义,甚至删除了对它的任何调用。不确定%typedef 是否可用于修改方法内容。
答案 0 :(得分:0)
我通过在接口文件中添加以下行来解决它:
%ignore qual_name::~short_name;
%extend Test {
public:
~Test() { // custom code here };
}