<?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[Probleme beim Erzeugen dynamischer Arrays....]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wenn ich versuche einem Array dynamisch Listen wie folgt zuzuweisen:</p>
<pre><code>class HashTable {

List &lt;V&gt;* table;
	int size;

void addList (int index) {
		if (size == 0) {
			table[index] = new List&lt;V&gt;;
		}
		if (table[index] == NULL) {
			table[index] = new List &lt;V&gt;;
		}
	}
.....
};
</code></pre>
<p>kommt folgende Fehlermeldung:</p>
<p>error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'List&lt;V&gt; *' akzeptiert (oder keine geeignete Konvertierung möglich)</p>
<p>Woran könnte das liegen, und was kann man da tun...</p>
<p>Gruß</p>
<p>Generic412</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/170663/probleme-beim-erzeugen-dynamischer-arrays</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 03:33:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170663.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Jan 2007 12:28:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim Erzeugen dynamischer Arrays.... on Thu, 18 Jan 2007 12:28:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wenn ich versuche einem Array dynamisch Listen wie folgt zuzuweisen:</p>
<pre><code>class HashTable {

List &lt;V&gt;* table;
	int size;

void addList (int index) {
		if (size == 0) {
			table[index] = new List&lt;V&gt;;
		}
		if (table[index] == NULL) {
			table[index] = new List &lt;V&gt;;
		}
	}
.....
};
</code></pre>
<p>kommt folgende Fehlermeldung:</p>
<p>error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'List&lt;V&gt; *' akzeptiert (oder keine geeignete Konvertierung möglich)</p>
<p>Woran könnte das liegen, und was kann man da tun...</p>
<p>Gruß</p>
<p>Generic412</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1211970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211970</guid><dc:creator><![CDATA[Generic412]]></dc:creator><pubDate>Thu, 18 Jan 2007 12:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Erzeugen dynamischer Arrays.... on Thu, 18 Jan 2007 12:37:49 GMT]]></title><description><![CDATA[<p>table ist ein Zeiger auf eine list&lt;&gt; (der noch dazu anscheinend ins Nirvana zeigt). Damit ist table[index] ein list&lt;&gt; - und dem kannst (und brauchst) du keinen Zeiger zuweisen. Stattdessen müsstest du das Array vergrößern, auf das table zeigt, z.B. so:</p>
<pre><code class="language-cpp">if(index&gt;size)
{
  List&lt;V&gt;* tmp = new List&lt;V&gt;[index];
  for(int i=0;i&lt;size;++i) tmp[i]=table[i];
  delele[]table;
  table = tmp;size=index;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1211978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211978</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 18 Jan 2007 12:37:49 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Erzeugen dynamischer Arrays.... on Thu, 18 Jan 2007 12:44:08 GMT]]></title><description><![CDATA[<p>Also<br />
1. Hat deine Klasse kein Array als Member, sondern einen Zeiger auf eine Liste, d.h. du kannst so nur eine Liste speichern.<br />
Richtig müsste das so aussehen:</p>
<pre><code class="language-cpp">List&lt;V&gt;** table; //Array von Zeigern
table = new List&lt;V&gt;[n]; //wobei n die größe ist
table[n] = new List&lt;V&gt;;
</code></pre>
<p>2. Zu deinem Problem, dass du tatsächlich beschrieben hast:<br />
List ist eine Tamplate-Klasse, d.h. du musst auch einen Template-Parameter angeben, mit dem diese List erzeugt wird. Z.B. List&lt;int&gt;.<br />
Das machst du aber, zumindest in dem gegebenen Code nicht. Du könntest nun, da du dich scheinbar nicht im Typ festlegen willst, deinerseits die Klasse HashTable ebenfalls als Template deklarieren.</p>
<pre><code class="language-cpp">tamplate&lt;typename V&gt;
class HashTable { 

List &lt;V&gt;* table; 
    int size; 

void addList (int index) { 
        if (size == 0) { 
            table[index] = new List&lt;V&gt;; 
        } 
        if (table[index] == NULL) { 
            table[index] = new List &lt;V&gt;; 
        } 
    } 
..... 
}; 

//Benutzung:
HashTable&lt;int&gt; foo;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1211983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1211983</guid><dc:creator><![CDATA[viande]]></dc:creator><pubDate>Thu, 18 Jan 2007 12:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Erzeugen dynamischer Arrays.... on Thu, 18 Jan 2007 13:03:43 GMT]]></title><description><![CDATA[<p>Verstehe ich das richtig?</p>
<p>Wenn ich :</p>
<pre><code>List &lt;V&gt;* table = new List &lt;V&gt;[size];
</code></pre>
<p>schreibe, habe ich einen Zeiger (table), der auf ein Array mit Listen verweist...<br />
Ist dieses Array dann dynamisch, so dass ich keine feste Größe (size) angeben muss?</p>
<p>Generic412</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1212002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1212002</guid><dc:creator><![CDATA[Generic412]]></dc:creator><pubDate>Thu, 18 Jan 2007 13:03:43 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Erzeugen dynamischer Arrays.... on Thu, 18 Jan 2007 13:07:40 GMT]]></title><description><![CDATA[<p>Das ist zumindest soweit dynamisch, daß du die Größe erst zur Laufzeit festlegen mußt. Aber spätestens beim new-Aufruf muß bekannt sein, wie groß das Array werden soll.</p>
<p>Edit <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8183">@viande</a>: Ein Zeiger muß nicht unbedingt auf ein einzelnes Objekt zeigen, dahinter kann sich auch ein komplettes Array befinden (allerdings kannst du nicht portabel herausfinden, wie groß dieses Array ist).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1212005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1212005</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 18 Jan 2007 13:07:40 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Erzeugen dynamischer Arrays.... on Thu, 18 Jan 2007 13:07:50 GMT]]></title><description><![CDATA[<p>viande schrieb:</p>
<blockquote>
<p>Also<br />
1. Hat deine Klasse kein Array als Member, sondern einen Zeiger auf eine Liste, d.h. du kannst so nur eine Liste speichern.<br />
Richtig müsste das so aussehen:</p>
<pre><code class="language-cpp">List&lt;V&gt;** table; //Array von Zeigern
table = new List&lt;V&gt;[n]; //wobei n die größe ist
table[n] = new List&lt;V&gt;;
</code></pre>
<p>2. Zu deinem Problem, dass du tatsächlich beschrieben hast:<br />
List ist eine Tamplate-Klasse, d.h. du musst auch einen Template-Parameter angeben, mit dem diese List erzeugt wird. Z.B. List&lt;int&gt;.<br />
Das machst du aber, zumindest in dem gegebenen Code nicht. Du könntest nun, da du dich scheinbar nicht im Typ festlegen willst, deinerseits die Klasse HashTable ebenfalls als Template deklarieren.</p>
<pre><code class="language-cpp">tamplate&lt;typename V&gt;
class HashTable { 

List &lt;V&gt;* table; 
    int size; 

void addList (int index) { 
        if (size == 0) { 
            table[index] = new List&lt;V&gt;; 
        } 
        if (table[index] == NULL) { 
            table[index] = new List &lt;V&gt;; 
        } 
    } 
..... 
}; 

//Benutzung:
HashTable&lt;int&gt; foo;
</code></pre>
</blockquote>
<p>Danke,<br />
hat mir sehr weitergeholfen <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="🙂"
    /><br />
Wenn ich den Beitrag vorher gesehen hätte, hätte ich meinen letzten Beitrag nicht verfasst. Jetzt ist alles klar... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Gruß<br />
Generic412</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1212008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1212008</guid><dc:creator><![CDATA[Generic412]]></dc:creator><pubDate>Thu, 18 Jan 2007 13:07:50 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Erzeugen dynamischer Arrays.... on Thu, 18 Jan 2007 13:09:00 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Das ist zumindest soweit dynamisch, daß du die Größe erst zur Laufzeit festlegen mußt. Aber spätestens beim new-Aufruf muß bekannt sein, wie groß das Array werden soll.</p>
<p>Edit <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8183">@viande</a>: Ein Zeiger muß nicht unbedingt auf ein einzelnes Objekt zeigen, dahinter kann sich auch ein komplettes Array befinden (allerdings kannst du nicht portabel herausfinden, wie groß dieses Array ist).</p>
</blockquote>
<p>Ebenso Danke an CStoll <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/1212010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1212010</guid><dc:creator><![CDATA[Generic412]]></dc:creator><pubDate>Thu, 18 Jan 2007 13:09:00 GMT</pubDate></item></channel></rss>