<?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[error C2102 beim Erstellen eines Objekts]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bekomme immer wieder beim Erstellen eines HashtabelleObjekts eine Fehlermeldung <strong>&quot;error C2102: '&amp;' erwartet L-Wert&quot;</strong>.<br />
Bin Einsteiger und kann den Fehler nicht erkennen. Hat jemand vielleicht einen Tipp für mich? Und überhaupt, ist mein Konstruktor in Ordnung?</p>
<p>Danke schon mal.</p>
<p>P.S. ich muss nach Aufgabenstellung <strong>stl list</strong> verwenden.</p>
<pre><code class="language-cpp">#ifndef HASHTABLE
#define HASHTABLE

#include &lt;list&gt;
#include &quot;HashElement.h&quot;

template &lt;typename T&gt;
class Hashtable {

private:
  /** Array mit Listen */
  list&lt; HashElement&lt;T&gt; &gt;** table;

  /** Laenge des Arrays */
  int size;								

  /**
  * Ermittelt einen Hashwert aus einem Key
  * @return hashcode
  */
  int hashcode(const string key) const{
	int hash = 0;
        //kommt noch was...
	return hash;
  }

  /**
  * Initialisiert die Hashtabelle. hmm...
  */
  void init(){
	  this-&gt;table = list&lt; HashElement&lt;T&gt; &gt; *[this-&gt;size];
	  for(int i = 0; i &lt; this-&gt;size; i++){
		  this-&gt;table[i] = list&lt; HashElement&lt;T&gt; &gt;;
	  }
  }

public:
	/** Konstruktor. */
	Hashtable(int nsize){
		this-&gt;size  = nsize;
		init();
	}

	/** Destruktor. */
	~Hashtable(){ 
		delete[][] table; // ob das auch i.o ?
	}

         ...

};

#endif
</code></pre>
<p><strong>HashElement.h</strong></p>
<pre><code class="language-cpp">#ifndef HASHELEMENT
#define HASHELEMENT
#include &lt;string&gt;

template &lt;typename T&gt;
class HashElement {

public:
  string    key;
  T         value;
  int		hashValue;

  /**
  * Konstruktor.
  */
  HashElement(string key, T value, int hashValue){
	this-&gt;key		= key;
	this-&gt;value		= value;
	this-&gt;hashValue = hashValue;
  }
};

#endif
</code></pre>
<p><strong>Test.cpp</strong></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;Hashtable.h&quot;

using namespace std;

int main() {
	Hashtable&lt;int&gt;* ht = &amp; (new Hashtable&lt;int&gt;(4));  // hier Fehler! :(
	//ht-&gt;put(&quot;abc&quot;, 123);

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/256721/error-c2102-beim-erstellen-eines-objekts</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 05:31:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256721.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 Dec 2009 21:43:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to error C2102 beim Erstellen eines Objekts on Wed, 16 Dec 2009 21:43:56 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bekomme immer wieder beim Erstellen eines HashtabelleObjekts eine Fehlermeldung <strong>&quot;error C2102: '&amp;' erwartet L-Wert&quot;</strong>.<br />
Bin Einsteiger und kann den Fehler nicht erkennen. Hat jemand vielleicht einen Tipp für mich? Und überhaupt, ist mein Konstruktor in Ordnung?</p>
<p>Danke schon mal.</p>
<p>P.S. ich muss nach Aufgabenstellung <strong>stl list</strong> verwenden.</p>
<pre><code class="language-cpp">#ifndef HASHTABLE
#define HASHTABLE

#include &lt;list&gt;
#include &quot;HashElement.h&quot;

template &lt;typename T&gt;
class Hashtable {

private:
  /** Array mit Listen */
  list&lt; HashElement&lt;T&gt; &gt;** table;

  /** Laenge des Arrays */
  int size;								

  /**
  * Ermittelt einen Hashwert aus einem Key
  * @return hashcode
  */
  int hashcode(const string key) const{
	int hash = 0;
        //kommt noch was...
	return hash;
  }

  /**
  * Initialisiert die Hashtabelle. hmm...
  */
  void init(){
	  this-&gt;table = list&lt; HashElement&lt;T&gt; &gt; *[this-&gt;size];
	  for(int i = 0; i &lt; this-&gt;size; i++){
		  this-&gt;table[i] = list&lt; HashElement&lt;T&gt; &gt;;
	  }
  }

public:
	/** Konstruktor. */
	Hashtable(int nsize){
		this-&gt;size  = nsize;
		init();
	}

	/** Destruktor. */
	~Hashtable(){ 
		delete[][] table; // ob das auch i.o ?
	}

         ...

};

#endif
</code></pre>
<p><strong>HashElement.h</strong></p>
<pre><code class="language-cpp">#ifndef HASHELEMENT
#define HASHELEMENT
#include &lt;string&gt;

template &lt;typename T&gt;
class HashElement {

public:
  string    key;
  T         value;
  int		hashValue;

  /**
  * Konstruktor.
  */
  HashElement(string key, T value, int hashValue){
	this-&gt;key		= key;
	this-&gt;value		= value;
	this-&gt;hashValue = hashValue;
  }
};

#endif
</code></pre>
<p><strong>Test.cpp</strong></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;Hashtable.h&quot;

using namespace std;

int main() {
	Hashtable&lt;int&gt;* ht = &amp; (new Hashtable&lt;int&gt;(4));  // hier Fehler! :(
	//ht-&gt;put(&quot;abc&quot;, 123);

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1823750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823750</guid><dc:creator><![CDATA[Dit_]]></dc:creator><pubDate>Wed, 16 Dec 2009 21:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to error C2102 beim Erstellen eines Objekts on Wed, 16 Dec 2009 21:45:22 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Hashtable&lt;int&gt;* ht = new Hashtable&lt;int&gt;(4);  // hier Fehler! :(
</code></pre>
<p>Auch wenn ich bezweifle, dass du hier einen Zeiger brauchst.. Also eher so:</p>
<pre><code class="language-cpp">Hashtable&lt;int&gt; ht (4);  // hier Fehler! :(
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1823751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823751</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 16 Dec 2009 21:45:22 GMT</pubDate></item><item><title><![CDATA[Reply to error C2102 beim Erstellen eines Objekts on Wed, 16 Dec 2009 21:57:00 GMT]]></title><description><![CDATA[<p>hmm... also wenn ich</p>
<pre><code class="language-cpp">Hashtable&lt;int&gt; ht (4);
</code></pre>
<p>verwende, dann wird mein Destruktor automatisch aufgerufen oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823758</guid><dc:creator><![CDATA[Dit_]]></dc:creator><pubDate>Wed, 16 Dec 2009 21:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to error C2102 beim Erstellen eines Objekts on Wed, 16 Dec 2009 22:07:15 GMT]]></title><description><![CDATA[<p>Ja, genau.</p>
<p>Das wäre beim obigen Code dann auch noch ein Problem gewesen. Du gibst da den Speicher nicht frei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823766</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 16 Dec 2009 22:07:15 GMT</pubDate></item><item><title><![CDATA[Reply to error C2102 beim Erstellen eines Objekts on Wed, 16 Dec 2009 22:27:16 GMT]]></title><description><![CDATA[<p>Ok danke <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>
<p>stimmt denn meine Methode init()? bekomme eine CompileFehlermeldung (Zeile 32)<br />
<strong>error C2059: Syntaxfehler: '['</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1823773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1823773</guid><dc:creator><![CDATA[Dit_]]></dc:creator><pubDate>Wed, 16 Dec 2009 22:27:16 GMT</pubDate></item></channel></rss>