<div dir="ltr"><br>Hello there,<br><br>I have been working with the following idl definition:<br><br>interface Add{<br> double add(in string a, in string b, in string c);<br>};<br><br>In the server I use the following instruction to activate the object id:<br>
<br>AddImpl * addImpl=new AddImpl();<br>PortableServer::ObjectId_var myObjID = myPOA->activate_object(addImpl);<br><br>I modified the idl as follows:<br><br>module Operations{<br> interface Add{<br>
double add(in string a, in string b, in string c);<br>
};<br>};<br><br>I defined the corresponding namespace Operations in the implementation, and<br>added the line "using namespace Operations;" at the beginning of the server<br>code.<br><br>Now compilation fails with the following errors:<br>
<br>server.cpp: In function 'int main(int, char**)':<br>server.cpp:64: error: no matching function for call to 'PortableServer::POA::activate_object(Operations::AddImpl*&)'<br>/usr/include/omniORB4/poa.h:552: note: candidates are: virtual PortableServer::ObjectId* PortableServer::POA::activate_object(PortableServer::ServantBase*)<br>
server.cpp:67: error: no matching function for call to 'PortableServer::POA::servant_to_reference(Operations::AddImpl*&)'<br>/usr/include/omniORB4/poa.h:566: note: candidates are: virtual CORBA::Object* PortableServer::POA::servant_to_reference(PortableServer::ServantBase*)<br>
<br>Any hints would be much appreciated. Thank you,<br><br>Hamilton<br><br><br><br><br></div>