<?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[G++ Compiler Error : field ‘xyz’ has incomplete type, Pointer funktioniert Strutkurelement nicht]]></title><description><![CDATA[<p>Hallo Freunde der Sonne,<br />
ich lerne zurzeit C++ und wollte mal eine verkettete Liste Programmieren. Dazu habe ich mir ein Struct wie folgt erstellt :</p>
<pre><code class="language-cpp">struct knoten {
	int daten;
	struct knoten* next;
};
</code></pre>
<p>Mir ist nun aufgefallen das wenn ich den Indirektionoperator &quot;*&quot; vergesse, sprich kein Pointer erstelle, ich folgende Fehlermeldung bekomme :</p>
<p>field ‘next’ has incomplete type</p>
<p>Aber wenn es als Pointer definiert wird, funktioniert alles tadellos. Liegt das daran das ein Pointer immer die selbe Speichergröße nur braucht und sich eigentlich nicht kümmern muss um was es sich für einen Typ es sich handelt ?</p>
<p>Oder wie kann man sich das erklären ?</p>
<p>Danke für die Hilfe <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/266157/g-compiler-error-field-xyz-has-incomplete-type-pointer-funktioniert-strutkurelement-nicht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 14:30:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266157.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 May 2010 19:44:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to G++ Compiler Error : field ‘xyz’ has incomplete type, Pointer funktioniert Strutkurelement nicht on Tue, 04 May 2010 19:44:22 GMT]]></title><description><![CDATA[<p>Hallo Freunde der Sonne,<br />
ich lerne zurzeit C++ und wollte mal eine verkettete Liste Programmieren. Dazu habe ich mir ein Struct wie folgt erstellt :</p>
<pre><code class="language-cpp">struct knoten {
	int daten;
	struct knoten* next;
};
</code></pre>
<p>Mir ist nun aufgefallen das wenn ich den Indirektionoperator &quot;*&quot; vergesse, sprich kein Pointer erstelle, ich folgende Fehlermeldung bekomme :</p>
<p>field ‘next’ has incomplete type</p>
<p>Aber wenn es als Pointer definiert wird, funktioniert alles tadellos. Liegt das daran das ein Pointer immer die selbe Speichergröße nur braucht und sich eigentlich nicht kümmern muss um was es sich für einen Typ es sich handelt ?</p>
<p>Oder wie kann man sich das erklären ?</p>
<p>Danke für die Hilfe <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1892477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892477</guid><dc:creator><![CDATA[Toni Makaroni]]></dc:creator><pubDate>Tue, 04 May 2010 19:44:22 GMT</pubDate></item><item><title><![CDATA[Reply to G++ Compiler Error : field ‘xyz’ has incomplete type, Pointer funktioniert Strutkurelement nicht on Tue, 04 May 2010 20:02:20 GMT]]></title><description><![CDATA[<p>Ein Zeiger auf Knoten ist nicht der gleiche Type wie ein Knoten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892486</guid><dc:creator><![CDATA[Zeus]]></dc:creator><pubDate>Tue, 04 May 2010 20:02:20 GMT</pubDate></item><item><title><![CDATA[Reply to G++ Compiler Error : field ‘xyz’ has incomplete type, Pointer funktioniert Strutkurelement nicht on Tue, 04 May 2010 20:06:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Du kannst nur einen Zeiger auf den Knoten in die Struktur aufnehmen, da der Datentyp &quot;knoten&quot; zu diesem Zeitpunkt noch unvollständig ist, was bedeutet, dass der Compiler keine genauen Informationen über die Größe hat. Es wäre auch fatal, wenn die Lösung ohne Zeiger funktionieren würde: Es würde unendlich viel Speicher verbraucht. (Da ja jeder Knoten wiederum einen knoten besitzt, für den wiederum auch Speicher bereitgestellt werden muss.) Ein Zeiger allerdings benötigt nur 32 Bits an Speicher und ist bei der Deklaration noch undefiniert, es wird also kein Speicher reserviert, auf den der Zeiger zeigt.</p>
<p>MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892489</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Tue, 04 May 2010 20:06:39 GMT</pubDate></item><item><title><![CDATA[Reply to G++ Compiler Error : field ‘xyz’ has incomplete type, Pointer funktioniert Strutkurelement nicht on Tue, 04 May 2010 20:07:56 GMT]]></title><description><![CDATA[<p>Ja. Man kann nur Objekte erstellen, bei denen vollständig klar ist, wie groß diese sind. Deshalb kann man keine Objekte von einem unvollständigen Typen erstellen. Bei einem Zeiger ist jedoch die Größe klar, deshalb kann man auch Zeiger auf unvollständige Typen haben.</p>
<p>Jochen S. schrieb:</p>
<blockquote>
<p>Ein Zeiger allerdings benötigt nur 32 Bits an Speicher</p>
</blockquote>
<p>Komisch, bei mir nicht. Ist mein Compiler kaputt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892490</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 04 May 2010 20:07:56 GMT</pubDate></item><item><title><![CDATA[Reply to G++ Compiler Error : field ‘xyz’ has incomplete type, Pointer funktioniert Strutkurelement nicht on Tue, 04 May 2010 20:07:41 GMT]]></title><description><![CDATA[<p>Danke für eure Antworten. Nun ist alles Sonnenklar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892492</guid><dc:creator><![CDATA[Toni Makaroni]]></dc:creator><pubDate>Tue, 04 May 2010 20:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to G++ Compiler Error : field ‘xyz’ has incomplete type, Pointer funktioniert Strutkurelement nicht on Tue, 04 May 2010 20:28:49 GMT]]></title><description><![CDATA[<p>Ausserdem schreibst du C. In C++ schreibt mann nur struct für die Typendeklaration/-definition als Member lässt man es weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892499</guid><dc:creator><![CDATA[Zeus]]></dc:creator><pubDate>Tue, 04 May 2010 20:28:49 GMT</pubDate></item></channel></rss>