<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div>Hi All:<br><br>I have a windows application using MFC to create an optimized portfolio of common stock.&nbsp; I used the cpp example as a template and derived my class from TNLP.&nbsp; The difference between my implementation and that in the example is that I have many new members and a few more functions (to access data in databases ) etc.<br><br>When I try to compile this, the compiler complains that the new data members are not part of the TNLP class.&nbsp; For example some of the error messages are below:<br><br>rojects\bmopt\bmopt\createcase.cpp(262) : error C2039: 'm_caseFileName' : is not a member of 'Ipopt::TNLP'<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c:\optdir\iptnlp.hpp(48) : see declaration of 'Ipopt::TNLP'<br>1&gt;c:\documents and settings\kris\my
 documents\projects\bmopt\bmopt\createcase.cpp(264) : error C2039: 'm_assetBoundsDB' : is not a member of 'Ipopt::TNLP'<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c:\optdir\iptnlp.hpp(48) : see declaration of 'Ipopt::TNLP'<br>1&gt;c:\documents and settings\kris\my documents\projects\bmopt\bmopt\createcase.cpp(265) : error C2039: 'm_assetBoundsTable' : is not a member of 'Ipopt::TNLP'<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c:\optdir\iptnlp.hpp(48) : see declaration of 'Ipopt::TNLP'<br>1&gt;c:\documents and settings\kris\my documents\projects\bmopt\bmopt\createcase.cpp(267) : error C2039: 'm_assetReturnDB' : is not a member of 'Ipopt::TNLP'<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c:\optdir\iptnlp.hpp(48) : see declaration of 'Ipopt::TNLP'<br><br><br><br><span style="font-weight: bold;">But this is not right, and these members are present in the derived class</span>.&nbsp; I declare the smart pointer
 thus:<br><br>&nbsp;&nbsp;&nbsp; SmartPtr&lt;TNLP&gt; p_optdata;<br>and instantiate it as p_optdata = new COpt() where COpt is the derived class from TNLP.<br><br>Is there some other way I should treat this derived class?&nbsp; If any more information is needed, please let me know?&nbsp; <br><br><span style="font-weight: bold;">I even tried SmarPtr&lt;COpt&gt; p_optdata</span>.&nbsp; The compiler does not like this.&nbsp; The complaints about the new data members are gone. but instead I get<br><br>1&gt;c:\documents and settings\kris\my documents\projects\bmopt\bmopt\bmoptdoc.cpp(105) : error C2664: 'Ipopt::IpoptApplication::OptimizeTNLP' : cannot convert parameter 1 from 'Ipopt::SmartPtr&lt;T&gt;' to 'const Ipopt::SmartPtr&lt;T&gt; &amp;'<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 T=COpt<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=Ipopt::TNLP<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reason: cannot convert from 'Ipopt::SmartPtr&lt;T&gt;' to 'const Ipopt::SmartPtr&lt;T&gt;'<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=COpt<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=Ipopt::TNLP<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 ]<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called<br><br><span style="font-weight: bold;">I guess this is because oc the const declaration.</span><br style="font-weight: bold;"><br style="font-weight: bold;"><br style="font-weight: bold;"><span style="font-weight: bold;">Any way I can solve this issue?&nbsp; This is the very last part of my implementation, and any help would be appreciated.</span><br style="font-weight: bold;"><br style="font-weight: bold;"><span style="font-weight: bold;">Thanks in advance</span><br><br>Krish<br><br></div></div><br>

      </body></html>