Boost C++ Libraries: Ticket #13381: Compile error with matrix_transformer.apply in Visual C++ 2015 https://svn.boost.org/trac10/ticket/13381 <p> I just upgraded my code from boost 1.61.0 to 1.66.0 and had to make some smaller changes due to the switch to boost::qvm for the transformations. </p> <p> However, every single line containing transform (transforming point&lt;double, 3, cartesian&gt; to point&lt;double, 3, cartesian&gt; via matrix_transformer&lt;double, 3, 3&gt;) failed to compile in my case, because the compiler kept complaining that the template argument for operator 'R' could not be deduced. </p> <p> The compiler errors were not particularly helpful, but I figured out that the following modification helps: </p> <pre class="wiki">172c172 &lt; c1 * m_matrix(0,0) + c2 * m_matrix(0,1) + c3 * m_matrix(0,2) + m_matrix(0,3))); --- &gt; c1 * qvm::A&lt;0,0&gt;(m_matrix) + c2 * qvm::A&lt;0,1&gt;(m_matrix) + c3 * qvm::A&lt;0,2&gt;(m_matrix) + qvm::A&lt;0,3&gt;(m_matrix))); 174c174 &lt; c1 * m_matrix(1,0) + c2 * m_matrix(1,1) + c3 * m_matrix(1,2) + m_matrix(1,3))); --- &gt; c1 * qvm::A&lt;1,0&gt;(m_matrix) + c2 * qvm::A&lt;1,1&gt;(m_matrix) + c3 * qvm::A&lt;1,2&gt;(m_matrix) + qvm::A&lt;1,3&gt;(m_matrix))); 176c176 &lt; c1 * m_matrix(2,0) + c2 * m_matrix(2,1) + c3 * m_matrix(2,2) + m_matrix(2,3))); --- &gt; c1 * qvm::A&lt;2,0&gt;(m_matrix) + c2 * qvm::A&lt;2,1&gt;(m_matrix) + c3 * qvm::A&lt;2,2&gt;(m_matrix) + qvm::A&lt;2,3&gt;(m_matrix))); </pre><p> Basically I just replaced m_matrix(i,j) by qvm::A&lt;i,j&gt;(m_matrix) in matrix_transformer::apply. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13381 Trac 1.4.3 anonymous Fri, 05 Jan 2018 15:05:30 GMT summary changed https://svn.boost.org/trac10/ticket/13381#comment:1 https://svn.boost.org/trac10/ticket/13381#comment:1 <ul> <li><strong>summary</strong> <span class="trac-field-old">Compile error with matrix_transformer.apply in Visual C++</span> → <span class="trac-field-new">Compile error with matrix_transformer.apply in Visual C++ 2015</span> </li> </ul> Ticket awulkiew Mon, 05 Feb 2018 22:46:25 GMT status, milestone changed; resolution set https://svn.boost.org/trac10/ticket/13381#comment:2 https://svn.boost.org/trac10/ticket/13381#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.67.0</span> </li> </ul> <p> Thanks! </p> <p> Fix: <a class="ext-link" href="https://github.com/boostorg/geometry/commit/696e03532fda78a7160dcf777a57c9b03938610a"><span class="icon">​</span>https://github.com/boostorg/geometry/commit/696e03532fda78a7160dcf777a57c9b03938610a</a> </p> Ticket