<?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[Dereferenzierung einer Funktion]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe ein Programm bestehend aus Klasse &quot;mcDSA&quot; und &quot;ARM&quot;. In der Klasse &quot;mcDSA&quot; ist die Funktion &quot;OnPDOReeiveD&quot; definiert als:</p>
<p>&quot;virtual void OnPDOReceived(uint32 cob_id, uint8 len, uint8* data)(<br />
...<br />
}&quot;</p>
<p>wobei &quot;uint 32&quot;, &quot;uint8&quot; mittels &quot;typedef&quot; als eigenständige Typen definiert sind.<br />
Die Klasse &quot;mcDSA&quot; ist über die &quot;#include&quot;-Anweisung in die Klasse &quot;ARM&quot; eingebunden.<br />
In der Klasse &quot;ARM&quot; möchte ich nun über einen Zeiger &quot;p_Controller&quot; die Funktion dereferenzieren:</p>
<p>&quot;p_Controller -&gt;OnPDOReceived(0x3762,8,&amp;data);&quot;</p>
<p>Hierbei liefert der Compiler nach dem Debuggen den Fehler: &quot;error C2065 data nicht deklarierter Bezeichner&quot;.<br />
Was mache ich verkehrt? Vielen Dank für eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318688/dereferenzierung-einer-funktion</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 03:14:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318688.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Jul 2013 18:28:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Mon, 22 Jul 2013 18:28:10 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe ein Programm bestehend aus Klasse &quot;mcDSA&quot; und &quot;ARM&quot;. In der Klasse &quot;mcDSA&quot; ist die Funktion &quot;OnPDOReeiveD&quot; definiert als:</p>
<p>&quot;virtual void OnPDOReceived(uint32 cob_id, uint8 len, uint8* data)(<br />
...<br />
}&quot;</p>
<p>wobei &quot;uint 32&quot;, &quot;uint8&quot; mittels &quot;typedef&quot; als eigenständige Typen definiert sind.<br />
Die Klasse &quot;mcDSA&quot; ist über die &quot;#include&quot;-Anweisung in die Klasse &quot;ARM&quot; eingebunden.<br />
In der Klasse &quot;ARM&quot; möchte ich nun über einen Zeiger &quot;p_Controller&quot; die Funktion dereferenzieren:</p>
<p>&quot;p_Controller -&gt;OnPDOReceived(0x3762,8,&amp;data);&quot;</p>
<p>Hierbei liefert der Compiler nach dem Debuggen den Fehler: &quot;error C2065 data nicht deklarierter Bezeichner&quot;.<br />
Was mache ich verkehrt? Vielen Dank für eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340489</guid><dc:creator><![CDATA[C++Pete]]></dc:creator><pubDate>Mon, 22 Jul 2013 18:28:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Mon, 22 Jul 2013 18:30:42 GMT]]></title><description><![CDATA[<p>Man kann Zeiger dereferenzieren, Funktionen ruft man auf. Und du hast, wie die Fehlermeldung sagt, keine Variable <code>data</code> definiert, deren Adresse du mittels <code>&amp;data</code> zu nehmen versuchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340490</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 22 Jul 2013 18:30:42 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Mon, 22 Jul 2013 18:30:53 GMT]]></title><description><![CDATA[<p>Hi,<br />
du brauchst wohl ein uint8-Array, das die Daten enthält. Hast du kein Daten-Array?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340491</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 22 Jul 2013 18:30:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 07:21:19 GMT]]></title><description><![CDATA[<p>Ein Daten-Array habe ich nicht. Über den CAN-Bus sollen die erhaltenen Daten auch in dieses Array reingeschrieben werden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340545</guid><dc:creator><![CDATA[C++Pete]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:21:19 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 07:31:32 GMT]]></title><description><![CDATA[<p>C++Pete schrieb:</p>
<blockquote>
<p>Ein Daten-Array habe ich nicht.</p>
</blockquote>
<p>Dann musst Du Dir wohl eins definieren.</p>
<pre><code class="language-cpp">uint8 data[8]={};
</code></pre>
<p>Logisch, oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Weitermachen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340548</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:31:32 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 07:31:39 GMT]]></title><description><![CDATA[<p>Dann definiere dir dafür ein Array:</p>
<pre><code class="language-cpp">uint8 data[8];
</code></pre>
<p>Du solltest aber schon die Grundlagen von C++ beherrschen, bevor du dich an die Nutzung externer Libraries machst...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340549</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 23 Jul 2013 07:31:39 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 08:04:16 GMT]]></title><description><![CDATA[<p>Warum gerade ein uint8 array?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340560</guid><dc:creator><![CDATA[C++Pete]]></dc:creator><pubDate>Tue, 23 Jul 2013 08:04:16 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 08:09:25 GMT]]></title><description><![CDATA[<p>Der Autor hat vorn paar Wochen schonmal nen Thread eröffnet, ähnliche Frage und sowas alles. <a href="http://www.c-plusplus.net/forum/318538-full" rel="nofollow">hier</a></p>
<p>Irgendwie stimmt da was nicht oO</p>
<p>edit:</p>
<p>C++Pete schrieb:</p>
<blockquote>
<p>&quot;p_Controller -&gt;OnPDOReceived(0x3762,8,&amp;data);&quot;</p>
<p>Hierbei liefert der Compiler <strong>nach dem Debuggen</strong> den Fehler: &quot;error C2065 data nicht deklarierter Bezeichner&quot;.</p>
</blockquote>
<p>Das geht ja schonmal gar nicht. Der Debugger läuft mit dem Programm. Der Compiler erstellt das Programm. Ergo: Ohne Programm kein Debuggen, und keine Debugfehlermeldung beim Compilen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340561</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Tue, 23 Jul 2013 08:09:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 09:09:14 GMT]]></title><description><![CDATA[<p>Das war nicht meine Frage <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340569</guid><dc:creator><![CDATA[C++Pete]]></dc:creator><pubDate>Tue, 23 Jul 2013 09:09:14 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 09:15:11 GMT]]></title><description><![CDATA[<p>ein uint8 array weil die funktion einen zeiger auf einen uint8 verlangt. ist doch logisch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340571</guid><dc:creator><![CDATA[hanslol]]></dc:creator><pubDate>Tue, 23 Jul 2013 09:15:11 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 09:31:06 GMT]]></title><description><![CDATA[<p>C++Pete schrieb:</p>
<blockquote>
<p>, uint8* data)(<br />
...<br />
}</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2340573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340573</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 23 Jul 2013 09:31:06 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 11:56:30 GMT]]></title><description><![CDATA[<p>Wenn ich vor der Dereferenzierung des Zeigers ein Array folgendermaßen deklariere:</p>
<p>&quot;uint8 data[8];<br />
p_MotorControllers-&gt;OnPDOReceived(0x3762,8,&amp;data);&quot;</p>
<p>kommt immer die Fehlermeldung:</p>
<p>2&gt;C:\consys\apps\actuators\aManipulator\MAN_ARM5E.cpp(305): error C2664: 'mcDSA_ARM5E::OnPDOReceived': Konvertierung des Parameters 3 von 'uint8 (*)[8]' in 'uint8 *' nicht möglich<br />
2&gt; Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.<br />
2&gt;</p>
<p>Was mache ich verkehrt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340597</guid><dc:creator><![CDATA[C++Pete]]></dc:creator><pubDate>Tue, 23 Jul 2013 11:56:30 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 12:11:18 GMT]]></title><description><![CDATA[<p>Probiers mit:</p>
<pre><code>uint8 data[8];
p_MotorControllers-&gt;OnPDOReceived(0x3762,8,data);
</code></pre>
<p>Oder mit:</p>
<pre><code>uint8 * data = nullptr;
p_MotorControllers-&gt;OnPDOReceived(0x3762,8,data);
</code></pre>
<p>Oder mit:</p>
<pre><code>uint8 * data = new uint8[8];
p_MotorControllers-&gt;OnPDOReceived(0x3762,8,data);
</code></pre>
<p>Je nachdem, was gebraucht oder verlangt ist. Aber sind sprachliche Grundlagen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2340601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340601</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Tue, 23 Jul 2013 12:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierung einer Funktion on Tue, 23 Jul 2013 12:41:06 GMT]]></title><description><![CDATA[<p>vll. ist es dir - te - nicht bewusst aber ein array ist grundsätzlich wie ein zeiger nutzbar. daher ist der dereferenzierungsoperator fehl am platz.</p>
<pre><code>int array[2];
int *pointer = array;  //funktioniert wunderbar und ist definiertes verhalten
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2340607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2340607</guid><dc:creator><![CDATA[hanslol]]></dc:creator><pubDate>Tue, 23 Jul 2013 12:41:06 GMT</pubDate></item></channel></rss>