<?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[Komischer Fehler: String vektor Iterator]]></title><description><![CDATA[<p>Hallo,.</p>
<p>ich habe eine Funktion geschrieben, die mir aus einem vector&lt;Data&gt; theCatalog zu einer bestimmten ID (int) einen Namen zurückgeben soll.<br />
Mein Code mal zur Anschauung:</p>
<pre><code>const string getFilename(const int ID)
{
   std::vector&lt;Data&gt;::iterator myIt;
   myIt = theCatalog.begin();
   while(myIt = theCatalog.begin();myIt!= theCatalog.end(); myIt ++) 
   {     Data data = *myIt;   // ergebnis ist das worauf der Iterator zeigt

         if (ID == data.getID() )                                   
            return data.getName();          
   }
 if ( myIt!= theCatalog.end()) return &quot;&quot;;

}
</code></pre>
<p>Der Code kompiliert soweit ganz gut, guíbt mir eine Fehlermeldung mit der ich garnichts anfangen kann:</p>
<blockquote>
<p>error C2582: Die Funktion 'operator =' ist in 'Data' nicht verfügbar.</p>
</blockquote>
<p>Muss ich in Data noch irgendwas einfügen, wenn ja, was?</p>
<p>mein data sieht so aus:</p>
<pre><code class="language-cpp">Class Data {

public: 
Data (int pictureID, const string&amp; aPicture);
Data();
virtual ~Data();

int getID() const;
const string&amp; getNama() const;
static Data readDt(char* line, char delimiter',');

private:
const int id;
const string name;
friend ostream&amp; operator&lt;&lt; (ostream &amp;output, const Data &amp;p);

};
</code></pre>
<p>Ich hoffe mir kann jemand helfen!</p>
<p>Liebe Grüße<br />
Tilli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/139729/komischer-fehler-string-vektor-iterator</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 17:26:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/139729.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Mar 2006 18:19:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Komischer Fehler: String vektor Iterator on Wed, 08 Mar 2006 18:19:03 GMT]]></title><description><![CDATA[<p>Hallo,.</p>
<p>ich habe eine Funktion geschrieben, die mir aus einem vector&lt;Data&gt; theCatalog zu einer bestimmten ID (int) einen Namen zurückgeben soll.<br />
Mein Code mal zur Anschauung:</p>
<pre><code>const string getFilename(const int ID)
{
   std::vector&lt;Data&gt;::iterator myIt;
   myIt = theCatalog.begin();
   while(myIt = theCatalog.begin();myIt!= theCatalog.end(); myIt ++) 
   {     Data data = *myIt;   // ergebnis ist das worauf der Iterator zeigt

         if (ID == data.getID() )                                   
            return data.getName();          
   }
 if ( myIt!= theCatalog.end()) return &quot;&quot;;

}
</code></pre>
<p>Der Code kompiliert soweit ganz gut, guíbt mir eine Fehlermeldung mit der ich garnichts anfangen kann:</p>
<blockquote>
<p>error C2582: Die Funktion 'operator =' ist in 'Data' nicht verfügbar.</p>
</blockquote>
<p>Muss ich in Data noch irgendwas einfügen, wenn ja, was?</p>
<p>mein data sieht so aus:</p>
<pre><code class="language-cpp">Class Data {

public: 
Data (int pictureID, const string&amp; aPicture);
Data();
virtual ~Data();

int getID() const;
const string&amp; getNama() const;
static Data readDt(char* line, char delimiter',');

private:
const int id;
const string name;
friend ostream&amp; operator&lt;&lt; (ostream &amp;output, const Data &amp;p);

};
</code></pre>
<p>Ich hoffe mir kann jemand helfen!</p>
<p>Liebe Grüße<br />
Tilli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1011897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1011897</guid><dc:creator><![CDATA[TilliDreger]]></dc:creator><pubDate>Wed, 08 Mar 2006 18:19:03 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler: String vektor Iterator on Wed, 08 Mar 2006 19:39:24 GMT]]></title><description><![CDATA[<p>TilliDreger schrieb:</p>
<blockquote>
<p>Muss ich in Data noch irgendwas einfügen, wenn ja, was?</p>
</blockquote>
<p>Ja: 'operator ='</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1011949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1011949</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Wed, 08 Mar 2006 19:39:24 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler: String vektor Iterator on Wed, 08 Mar 2006 21:50:28 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Entweder das, oder du machst aus <em>Data data</em> einen Zeiger. Oder gehst den direkten Weg und lässt <em>data</em> ganz raus.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1012067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1012067</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 08 Mar 2006 21:50:28 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler: String vektor Iterator on Thu, 09 Mar 2006 15:11:26 GMT]]></title><description><![CDATA[<p>So, damit andere nicht auch mal die selbe Frage stellen:</p>
<pre><code class="language-cpp">Data&amp; operator= (const Data &amp;p) {return *this};
</code></pre>
<p>in die Klasse Data einfügen. Dann gehts !!!</p>
<p>byebye</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1012554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1012554</guid><dc:creator><![CDATA[TilliDreger]]></dc:creator><pubDate>Thu, 09 Mar 2006 15:11:26 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler: String vektor Iterator on Thu, 09 Mar 2006 15:39:21 GMT]]></title><description><![CDATA[<p>Macht auch so viel Sinn. Und danach soll deine o.g. Methode noch funktionieren? *zweifel*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1012579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1012579</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 09 Mar 2006 15:39:21 GMT</pubDate></item><item><title><![CDATA[Reply to Komischer Fehler: String vektor Iterator on Thu, 09 Mar 2006 16:57:23 GMT]]></title><description><![CDATA[<p>@Tilli: das letzte war Reis.</p>
<p>Normalerweise wird ein Standard-Assignment-Operator angeboten, es sei denn, dieser kann nicht generiert werden (z.B. Member oder Basisklasse deklariert seinen assignment operator private).</p>
<p>Bist du dir sicher, daß du bei Data nicht noch was verschweigst? <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>
<pre><code>Data data = *myIt;
</code></pre>
<p>hier könntest Du mit</p>
<pre><code>Data /* const */ &amp;data = *myIt;
</code></pre>
<p>arbeiten - vermeidet eine unnötige Kopie, und löst dein aktuelles problem. Nur daß STL-Container für Klassen ohne Assignment-Op sehr mühselig sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1012640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1012640</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Thu, 09 Mar 2006 16:57:23 GMT</pubDate></item></channel></rss>