<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[warum wird Funktion nicht gefunden]]></title><description><![CDATA[<p>Ich bekomme diesen Fehler</p>
<blockquote>
<p>error: no matching function for call to 'QCurvePlot::setData(int, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;)'<br />
include\qwtplotext/QCurvePlot.h:51: note: candidates are: void QCurvePlot::setData(size_t, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;)<br />
include\qwtplotext/QCurvePlot.h:52: note: void QCurvePlot::setData(size_t, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, int, size_t)<br />
include\qwtplotext/QCurvePlot.h:53: note: void QCurvePlot::setData(size_t, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, int, size_t)<br />
include\qwtplotext/QCurvePlot.h:54: note: void QCurvePlot::setData(size_t, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;)<br />
include\qwtplotext/QCurvePlot.h:55: note: void QCurvePlot::setData(size_t, const double*, size_t)<br />
include\qwtplotext/QCurvePlot.h:56: note: void QCurvePlot::setData(size_t, const double*, int, size_t)<br />
include\qwtplotext/QCurvePlot.h:57: note: void QCurvePlot::setData(size_t, const double*, const double*, size_t)<br />
include\qwtplotext/QCurvePlot.h:58: note: void QCurvePlot::setData(size_t, const double*, const double*, int, size_t)</p>
</blockquote>
<p>bei diesem Code:</p>
<pre><code class="language-cpp">vector&lt;double&gt; timeAmplitude = amplitude(pulse-&gt;time());
    ui-&gt;curvePlotTimeAmplitude-&gt;setData(1, pulse-&gt;timeAxis(), timeAmplitude);
    ui-&gt;curvePlotTimeAmplitude-&gt;setData(1, pulse-&gt;timeAxis(), amplitude(pulse-&gt;time()));
</code></pre>
<p>Der Fehler tritt nur in der letzten Zeile auf. Aber wo ist der Unterschied zu der darüber? 'amplitude ist definiert als:</p>
<pre><code class="language-cpp">std::vector&lt;double&gt; amplitude(const std::vector&lt;std::complex&lt;double&gt; &gt; &amp; array)
{
    std::vector&lt;double&gt; amplitude;
    amplitude.resize(array.size());
    for (size_t i = 0; i &lt; amplitude.size(); ++i) {
        amplitude[i] = std::abs(array[i]);
    }
    return amplitude;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/272704/warum-wird-funktion-nicht-gefunden</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 17:31:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272704.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Aug 2010 15:52:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to warum wird Funktion nicht gefunden on Mon, 23 Aug 2010 15:52:54 GMT]]></title><description><![CDATA[<p>Ich bekomme diesen Fehler</p>
<blockquote>
<p>error: no matching function for call to 'QCurvePlot::setData(int, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;)'<br />
include\qwtplotext/QCurvePlot.h:51: note: candidates are: void QCurvePlot::setData(size_t, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;)<br />
include\qwtplotext/QCurvePlot.h:52: note: void QCurvePlot::setData(size_t, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, int, size_t)<br />
include\qwtplotext/QCurvePlot.h:53: note: void QCurvePlot::setData(size_t, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, int, size_t)<br />
include\qwtplotext/QCurvePlot.h:54: note: void QCurvePlot::setData(size_t, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;)<br />
include\qwtplotext/QCurvePlot.h:55: note: void QCurvePlot::setData(size_t, const double*, size_t)<br />
include\qwtplotext/QCurvePlot.h:56: note: void QCurvePlot::setData(size_t, const double*, int, size_t)<br />
include\qwtplotext/QCurvePlot.h:57: note: void QCurvePlot::setData(size_t, const double*, const double*, size_t)<br />
include\qwtplotext/QCurvePlot.h:58: note: void QCurvePlot::setData(size_t, const double*, const double*, int, size_t)</p>
</blockquote>
<p>bei diesem Code:</p>
<pre><code class="language-cpp">vector&lt;double&gt; timeAmplitude = amplitude(pulse-&gt;time());
    ui-&gt;curvePlotTimeAmplitude-&gt;setData(1, pulse-&gt;timeAxis(), timeAmplitude);
    ui-&gt;curvePlotTimeAmplitude-&gt;setData(1, pulse-&gt;timeAxis(), amplitude(pulse-&gt;time()));
</code></pre>
<p>Der Fehler tritt nur in der letzten Zeile auf. Aber wo ist der Unterschied zu der darüber? 'amplitude ist definiert als:</p>
<pre><code class="language-cpp">std::vector&lt;double&gt; amplitude(const std::vector&lt;std::complex&lt;double&gt; &gt; &amp; array)
{
    std::vector&lt;double&gt; amplitude;
    amplitude.resize(array.size());
    for (size_t i = 0; i &lt; amplitude.size(); ++i) {
        amplitude[i] = std::abs(array[i]);
    }
    return amplitude;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1943451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943451</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Mon, 23 Aug 2010 15:52:54 GMT</pubDate></item><item><title><![CDATA[Reply to warum wird Funktion nicht gefunden on Mon, 23 Aug 2010 15:59:11 GMT]]></title><description><![CDATA[<p>Der Unterschied ist, dass das einmal ein temporäres Objekt ist. Die Funktion erwartet ihr Argument als nicht-const-Referenz. Temporäre Objekte können aber nur an const-Referenzen gebunden werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943454</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 23 Aug 2010 15:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to warum wird Funktion nicht gefunden on Mon, 23 Aug 2010 16:03:26 GMT]]></title><description><![CDATA[<p>amplitude liefert ein temporäres Objekt. Ein solches kannst du nicht als eine &quot;normale&quot; Referenz (vextor&lt;&gt;&amp;) übergeben, sondern nur an eine const-Referenz (const vector&lt;&gt;&amp;) oder wenn das Objekt kopiert (vector&lt;&gt;) wird ( so eine Funktion sucht dein Compiler ). Beim ersten Funktionsaufruf wird ein vector auf dem Stack angelegt, den kann man dann als Referenz übergeben.</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943456</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Mon, 23 Aug 2010 16:03:26 GMT</pubDate></item><item><title><![CDATA[Reply to warum wird Funktion nicht gefunden on Tue, 24 Aug 2010 11:36:28 GMT]]></title><description><![CDATA[<p>EDIT: hat sich geklärt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943756</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Tue, 24 Aug 2010 11:36:28 GMT</pubDate></item><item><title><![CDATA[Reply to warum wird Funktion nicht gefunden on Tue, 24 Aug 2010 11:37:09 GMT]]></title><description><![CDATA[<blockquote>
<p>error: no matching function for call to 'LaserPulse::interpolateFrequencyDataToWavelengthAxis(std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, <strong>std::vector&lt;std::complex&lt;double&gt;, std::allocator&lt;std::complex&lt;double&gt; &gt; &gt;&amp;</strong>, double)'<br />
note: candidates are: void LaserPulse::interpolateFrequencyDataToWavelengthAxis(const std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, const std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, const std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;, double)</p>
</blockquote>
<p>Du versuchst einen</p>
<pre><code class="language-cpp">std::vector&lt;std::complex&lt;double&gt;, std::allocator&lt;std::complex&lt;double&gt; &gt; &gt;&amp;
</code></pre>
<p>in einen</p>
<pre><code class="language-cpp">std::vector&lt;double, std::allocator&lt;double&gt; &gt;&amp;
</code></pre>
<p>zu stopfen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943761</guid><dc:creator><![CDATA[padreigh@work]]></dc:creator><pubDate>Tue, 24 Aug 2010 11:37:09 GMT</pubDate></item><item><title><![CDATA[Reply to warum wird Funktion nicht gefunden on Tue, 24 Aug 2010 11:52:27 GMT]]></title><description><![CDATA[<pre><code>error: no matching function for call to

  LaserPulse::interpolateFrequencyDataToWavelengthAxis(
    std::vector&lt;double&gt;&amp;,
    std::vector&lt;double&gt;,
    std::vector&lt;double&gt;&amp;,
    std::vector&lt;[b]std::complex&lt;double&gt;[/b]&gt;&amp;,
    double)

note: candidates are:

  void
  LaserPulse::interpolateFrequencyDataToWavelengthAxis(
    const std::vector&lt;double&gt;&amp;,
    const std::vector&lt;double&gt;&amp;,
    const std::vector&lt;double&gt;&amp;,
    std::vector&lt;[b]double[/b]&gt;&amp;,
    double)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1943768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943768</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 24 Aug 2010 11:52:27 GMT</pubDate></item></channel></rss>