Boost C++ Libraries: Ticket #13325: boost::numeric::odeint::dense_output_runge_kutta call a non-existign function "resize" https://svn.boost.org/trac10/ticket/13325 <p> I failed the compile of the following code. </p> <div class="wikipage" style="font-size: 80%"><p> source: </p> <div class="wiki-code"><div class="code"><pre><span class="cp">#include</span><span class="cpf">&lt;vector&gt;</span><span class="cp"></span> <span class="cp">#include</span><span class="cpf">&lt;boost/numeric/odeint.hpp&gt;</span><span class="cp"></span> <span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span> <span class="p">{</span> <span class="k">namespace</span> <span class="n">odeint</span> <span class="o">=</span> <span class="n">boost</span><span class="o">::</span><span class="n">numeric</span><span class="o">::</span><span class="n">odeint</span><span class="p">;</span> <span class="k">using</span> <span class="n">state_type</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">double</span><span class="o">&gt;</span><span class="p">;</span> <span class="k">auto</span> <span class="n">Stepper</span> <span class="o">=</span> <span class="n">odeint</span><span class="o">::</span><span class="n">make_dense_output</span><span class="p">(</span><span class="mf">0.001</span><span class="p">,</span> <span class="mf">0.001</span><span class="p">,</span> <span class="n">odeint</span><span class="o">::</span><span class="n">runge_kutta_dopri5</span><span class="o">&lt;</span><span class="n">state_type</span><span class="o">&gt;</span><span class="p">());</span> <span class="n">state_type</span> <span class="n">State</span><span class="p">{</span> <span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span> <span class="p">};</span> <span class="n">Stepper</span><span class="p">.</span><span class="n">adjust_size</span><span class="p">(</span><span class="n">State</span><span class="p">);</span> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> <span class="p">}</span> </pre></div></div></div><div class="wikipage" style="font-size: 80%"><p> output: </p> <div class="wiki-code"><div class="code"><pre><span class="n">error</span> <span class="nl">C2039</span><span class="p">:</span> <span class="err">&#39;</span><span class="n">resize</span><span class="err">&#39;</span><span class="o">:</span> <span class="err">&#39;</span><span class="n">boost</span><span class="o">::</span><span class="n">numeric</span><span class="o">::</span><span class="n">odeint</span><span class="o">::</span><span class="n">runge_kutta_dopri5</span><span class="o">&lt;</span><span class="n">state_type</span><span class="p">,</span><span class="kt">double</span><span class="p">,</span><span class="n">State</span><span class="p">,</span><span class="n">Value</span><span class="p">,</span><span class="n">boost</span><span class="o">::</span><span class="n">numeric</span><span class="o">::</span><span class="n">odeint</span><span class="o">::</span><span class="n">algebra_dispatcher_sfinae</span><span class="o">&lt;</span><span class="n">StateType</span><span class="p">,</span><span class="kt">void</span><span class="o">&gt;::</span><span class="n">algebra_type</span><span class="p">,</span><span class="n">boost</span><span class="o">::</span><span class="n">numeric</span><span class="o">::</span><span class="n">odeint</span><span class="o">::</span><span class="n">operations_dispatcher_sfinae</span><span class="o">&lt;</span><span class="n">StateType</span><span class="p">,</span><span class="kt">void</span><span class="o">&gt;::</span><span class="n">operations_type</span><span class="p">,</span><span class="n">boost</span><span class="o">::</span><span class="n">numeric</span><span class="o">::</span><span class="n">odeint</span><span class="o">::</span><span class="n">initially_resizer</span><span class="o">&gt;</span><span class="err">&#39;</span> <span class="n">is</span> <span class="n">not</span> <span class="n">a</span> <span class="n">member</span><span class="p">.</span> </pre></div></div></div><p> This seems to be caused because odeint::dense_output_runge_kutta calls a non-existing function "resize" instead of "adjust_size" of the base stepper. </p> <div class="wikipage" style="font-size: 80%"><p> boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp </p> <div class="wiki-code"><div class="code"><pre> <span class="c1">//boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp</span> <span class="c1">//Line 378-383</span> <span class="k">template</span><span class="o">&lt;</span> <span class="k">class</span> <span class="nc">StateType</span> <span class="o">&gt;</span> <span class="kt">void</span> <span class="n">adjust_size</span><span class="p">(</span> <span class="k">const</span> <span class="n">StateType</span> <span class="o">&amp;</span><span class="n">x</span> <span class="p">)</span> <span class="p">{</span> <span class="n">resize</span><span class="p">(</span> <span class="n">x</span> <span class="p">);</span> <span class="n">m_stepper</span><span class="p">.</span><span class="n">stepper</span><span class="p">().</span><span class="n">resize</span><span class="p">(</span> <span class="n">x</span> <span class="p">);</span> <span class="c1">//not resize but adjust_size?</span> <span class="p">}</span> </pre></div></div></div> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13325 Trac 1.4.3