我的Swig文件(.i)中包含以下代碼:%extend vgSofa::handler::VertexShape{ vgd::Shp< vgSofa::handler::VertexShape > createVSWithNode( sofa::simulation::Node * root ) { vgd::Shp< vgSofa::handler::VertexShape > result( new vgSofa::handler::VertexShape() ); return result->init(root) ? result : vgd::Shp< vgSofa::handler::VertexShape >(); } vgd::Shp< vgSofa::handler::VertexShape > createVSWithBsicHandler( vgd::Shp<vgSofa::handler::BasicHandler> h ) { return vgSofa_handler_VertexShape_createVSWithNode( $self, h->getRoot() ); } };在創(chuàng)建的.cpp文件中,swig在我的方法中添加了另一個(gè)參數(shù):SWIGINTERN vgd::Shp< vgSofa::handler::VertexShape > vgSofa_handler_VertexShape_createVSWithBsicHandler(vgSofa::handler::VertexShape *self,vgd::Shp< vgSofa::handler::BasicHandler > h){...}如何防止將此附加參數(shù)添加到VertexShape?
1 回答

寶慕林4294392
TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
那是正?,F(xiàn)象。SWIG的%extend
指令在生成的代碼中生成獨(dú)立的函數(shù)。如果$self
在主體中使用,該函數(shù)將提供一個(gè)參數(shù)(名為“ self”),該參數(shù)是C ++類(lèi)實(shí)例的指針。
附帶說(shuō)明:C ++在后臺(tái)執(zhí)行相同的操作。該this
指針被作為第一個(gè)參數(shù)的所有非靜態(tài)成員函數(shù)隱式傳遞。
添加回答
舉報(bào)
0/150
提交
取消