<?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[undefined reference to...]]></title><description><![CDATA[<p>Hallo @ all,</p>
<p>wir haben die Aufgabe bekommen in ziemlich kurzer Zeit c++ zu lernen und anzuwenden. Leider ist das ziemlich schwierig. Ich habe die Aufgabe ein WIKI zu programmieren. Hier nun meine Frage. Ich habe eine Methode in der Datei Werkzeug.cpp und der Klasse Werkzeug. Die Methode heisst parseStream(). Sie erwartet einen String und soll einen map Container mit jeweils zwei Strings zurückgeben. Leider bekomme ich die Fehlermeldung &quot;undefined reference to..&quot;</p>
<p>hier nun erstmal die Header Datei der Werkzeug Klasse:</p>
<pre><code>#ifndef _Werkzeug_h_
#define _Werkzeug_h_

#include &lt;iostream&gt;
#include &lt;dirent.h&gt;
#include &lt;cstdlib&gt;
#include &lt;string&gt;
#include &lt;list&gt;
#include &lt;map&gt;

using namespace std;

class Werkzeug
{
	public:
		Werkzeug ();  //Konstruktor
		~Werkzeug();  //Destruktor
		string ersetze(string s, string s1, string s2);
		string searchReplace(string searchstring);
		string directory(string verz, string mask);
		list&lt;string&gt; split (string str, char tr);
		map &lt;string, string&gt; parseStream(string str);
	private:
		string _Zeichenkette, _searchstring, _s, _s1, _s2;
};

#endif
</code></pre>
<p>Dann noch der Code der Werkzeug Klasse an sich:</p>
<pre><code>#include &quot;Werkzeug.h&quot;

Werkzeug::Werkzeug() {};

Werkzeug::~Werkzeug() {};

string Werkzeug::ersetze(string s, string s1, string s2) {
	 int l = s1.length();
	 int i = s.find(s1);
	 while(i != string::npos) {
		s.replace(s.find(s1),l, s2);
		i++;
		i = s.find(s1, i);
	 } 
	return s;
 }

string Werkzeug::searchReplace(string searchstring)
{
 searchstring = ersetze(searchstring,&quot;+&quot;,&quot; &quot;);
 searchstring = ersetze(searchstring,&quot;%0D%0A&quot;,&quot;\n&quot;);
 searchstring = ersetze(searchstring,&quot;%21&quot;,&quot;!&quot;);
 searchstring = ersetze(searchstring,&quot;%22&quot;,&quot;\&quot;&quot;); //backslash vor dem Ausrufezeichen sagt dem Compiler, das folgende Zeichen ist kein Programmcode
 searchstring = ersetze(searchstring,&quot;%23&quot;,&quot;#&quot;);
 searchstring = ersetze(searchstring,&quot;%24&quot;,&quot;$&quot;);
 searchstring = ersetze(searchstring,&quot;%25&quot;,&quot;%&quot;);
 searchstring = ersetze(searchstring,&quot;%26&quot;,&quot;&amp;&quot;);
 searchstring = ersetze(searchstring,&quot;%27&quot;,&quot;´&quot;);
 searchstring = ersetze(searchstring,&quot;%28&quot;,&quot;(&quot;);
 searchstring = ersetze(searchstring,&quot;%29&quot;,&quot;)&quot;);
 searchstring = ersetze(searchstring,&quot;%2B&quot;,&quot;+&quot;);
 searchstring = ersetze(searchstring,&quot;%2C&quot;,&quot;,&quot;);
 searchstring = ersetze(searchstring,&quot;%2F&quot;,&quot;/&quot;);
 searchstring = ersetze(searchstring,&quot;%3A&quot;,&quot;:&quot;);
 searchstring = ersetze(searchstring,&quot;%3B&quot;,&quot;;&quot;);
 searchstring = ersetze(searchstring,&quot;%3C&quot;,&quot;&lt;&quot;);
 searchstring = ersetze(searchstring,&quot;%3D&quot;,&quot;=&quot;);
 searchstring = ersetze(searchstring,&quot;%3E&quot;,&quot;&gt;&quot;);
 searchstring = ersetze(searchstring,&quot;%3F&quot;,&quot;?&quot;);
 searchstring = ersetze(searchstring,&quot;%5C&quot;,&quot;\\&quot;); //backslash vor dem backslash sagt dem Compiler, das folgende Zeichen ist kein Programmcode
 searchstring = ersetze(searchstring,&quot;%60&quot;,&quot;`&quot;);
 searchstring = ersetze(searchstring,&quot;%7B&quot;,&quot;{&quot;);
 searchstring = ersetze(searchstring,&quot;%7C&quot;,&quot;|&quot;);
 searchstring = ersetze(searchstring,&quot;%7D&quot;,&quot;}&quot;);
 searchstring = ersetze(searchstring,&quot;%7E&quot;,&quot;~&quot;);
 searchstring = ersetze(searchstring,&quot;%B4&quot;,&quot;'&quot;);
 searchstring = ersetze(searchstring,&quot;%C4&quot;,&quot;Ä&quot;);
 searchstring = ersetze(searchstring,&quot;%D6&quot;,&quot;Ö&quot;);
 searchstring = ersetze(searchstring,&quot;%DC&quot;,&quot;Ü&quot;);
 searchstring = ersetze(searchstring,&quot;%E4&quot;,&quot;ä&quot;);
 searchstring = ersetze(searchstring,&quot;%F6&quot;,&quot;ö&quot;);
 searchstring = ersetze(searchstring,&quot;%FC&quot;,&quot;ü&quot;);
 return searchstring;
}

string Werkzeug::directory(string verz, string mask)
{
    DIR *hdir;
    struct dirent *entry;
    int inl_slaenge = 0;
    string fn, list, z;
    char verzc[20]=&quot; &quot;;
    const char *verz1, *mask1, *z1;
    verz1 = verz.c_str();
    //strcpy( verzc, verz1);
    mask1 = mask.c_str();

    //verz.c_str();
    hdir = opendir(verz1);
    do
    {
        entry = readdir(hdir);
        if (entry)
        {
        	inl_slaenge = strlen(entry-&gt;d_name);
        	z = entry-&gt;d_name+inl_slaenge-4;
        	z1 = z.c_str();
        	if ((strcmp(mask1, z1) == 0))
        		{
        			fn = entry-&gt;d_name; //Konvertieren des Dateinamens in einen String
        			fn.replace(fn.find(mask),4,&quot;&quot;); //Dateiendung inklusive Punkt abschneiden
              fn = &quot;&lt;a href=\&quot;&quot;+verz+fn+mask+&quot;\&quot;&gt;&quot;+fn+&quot;&lt;/a&gt;&quot;;  //erzeugen eines Links
              list = list + fn + &quot;&lt;br&gt;\n&quot;;
        		}
        }
    } while (entry);
    closedir(hdir);
    return list;
}

//static string quoted(const string &amp;src);

list&lt;string&gt; split (string str, char tr) {
	list&lt;string&gt; strElemente; // Ergebnis: Liste von Teilstrings
	string::iterator pos1, // Anfang/Ende von
		pos2; // Teilstrings
		pos1 = str.begin(); // Beginn eines Teilstrings
		pos2 = find (pos1, str.end(), tr); // Ende eines Teilstrings
		while ( pos2 != str.end()) { // Trenner als Ende gefunden
			assert(*pos2==tr);
			string elem; // Teilstring
			copy (pos1, pos2, back_inserter(elem)); // Teilstring kopieren
			strElemente.push_back(elem); // Teilstring speichern
			pos1 = pos2;
			++pos1; // neuer Anfang hinter altem Ende
			pos2 = find (pos1, str.end(), tr); // neue Suche
		}
		// pos2 zeigt auf das Ende. pos1 zeigt auf den Beginn
		// des letzten Teilstrings vor dem Ende.
		// Letzten Teilstring extrahieren:
		//

		string last;
		copy (pos1, str.end(), back_inserter(last));
		strElemente.push_back(last);
		return strElemente;
}

	map &lt;string, string&gt; parseStream(string str) {
	list&lt;string&gt; feldListe = split(str, '&amp;'); // in Felder zerlegen
	map&lt; string,string &gt; felder; // Ergebnis
	// Felder in Paare aus Feldnamen und Wert splitten
	//

	for ( list&lt;string&gt;::iterator i = feldListe.begin();
		i != feldListe.end();
		++i){
			list&lt;string&gt; feldStr = split(*i, '=');
			pair&lt; string, string &gt; feld;
			feld.first = feldStr.front(); // Feldname
			feldStr.pop_front();
			feld.second = feldStr.front(); // Feldwert
			felder[feld.first] = feld.second; // Paar speichern
		}
return felder; // Abbildung Feld-Name -&gt; Feld-Wert zurueck geben
}
</code></pre>
<p>und jetzt noch der Code, wo ich die Methode nutzen möchte:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;cstdlib&gt;
#include &lt;list&gt;
#include &lt;map&gt;
#include &quot;Artikel.h&quot;
#include &quot;Werkzeug.h&quot;

using namespace std;

int main()
{
 string eingabe;
 getline(cin,eingabe);
  Werkzeug cgi;
  map &lt;string, string&gt; test = cgi.parseStream(eingabe);

  test[&quot;user_eingabe&quot;] = cgi.searchReplace(test[&quot;user_eingabe&quot;]);
  test[&quot;EingabeFeld&quot;] = cgi.searchReplace(test[&quot;EingabeFeld&quot;]);
  test[&quot;EingabeFeld1&quot;] = cgi.searchReplace(test[&quot;EingabeFeld1&quot;]);
 	Artikel Wiki(&quot;Titel&quot;,test[&quot;EingabeFeld1&quot;]);
 	Wiki.printHeader();
 cout &lt;&lt; &quot;&lt;p&gt;&quot; &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;h3&gt;CGI Analyse&lt;/h3&gt;&quot; &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;hr&gt;&quot; &lt;&lt; endl;

 cout &lt;&lt; &quot;Die Elemente:&lt;br&gt; &quot; &lt;&lt; endl;
 cout &lt;&lt; &quot; Feld-A = &quot; &lt;&lt; test[&quot;EingabeFeld&quot;] // Wert von Feld mit Namen Feld-A ausgeben
 &lt;&lt; &quot;&lt;br&gt;&quot;
 &lt;&lt; &quot; Feld-B = &quot; &lt;&lt; test[&quot;EingabeFeld1&quot;] // Wert von Feld mit Namen Feld-B ausgeben
 &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;p&gt;&quot; &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;hr&gt;&quot; &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;/body&gt;&lt;/html&gt;&quot; &lt;&lt; endl;

 cout &lt;&lt; test[&quot;user_eingabe&quot;];
 cout &lt;&lt; &quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;hr&gt;&quot;;
 cout &lt;&lt; cgi.directory(&quot;../htdocs/&quot;,&quot;.htm&quot;);
 //dir();

 ofstream fout(test[&quot;EingabeFeld&quot;].c_str());
 fout &lt;&lt; test[&quot;user_eingabe&quot;];
 fout.close();

}
</code></pre>
<p>Vielen Dank im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166510/undefined-reference-to</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 10:50:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166510.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Nov 2006 23:15:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to undefined reference to... on Wed, 29 Nov 2006 23:15:25 GMT]]></title><description><![CDATA[<p>Hallo @ all,</p>
<p>wir haben die Aufgabe bekommen in ziemlich kurzer Zeit c++ zu lernen und anzuwenden. Leider ist das ziemlich schwierig. Ich habe die Aufgabe ein WIKI zu programmieren. Hier nun meine Frage. Ich habe eine Methode in der Datei Werkzeug.cpp und der Klasse Werkzeug. Die Methode heisst parseStream(). Sie erwartet einen String und soll einen map Container mit jeweils zwei Strings zurückgeben. Leider bekomme ich die Fehlermeldung &quot;undefined reference to..&quot;</p>
<p>hier nun erstmal die Header Datei der Werkzeug Klasse:</p>
<pre><code>#ifndef _Werkzeug_h_
#define _Werkzeug_h_

#include &lt;iostream&gt;
#include &lt;dirent.h&gt;
#include &lt;cstdlib&gt;
#include &lt;string&gt;
#include &lt;list&gt;
#include &lt;map&gt;

using namespace std;

class Werkzeug
{
	public:
		Werkzeug ();  //Konstruktor
		~Werkzeug();  //Destruktor
		string ersetze(string s, string s1, string s2);
		string searchReplace(string searchstring);
		string directory(string verz, string mask);
		list&lt;string&gt; split (string str, char tr);
		map &lt;string, string&gt; parseStream(string str);
	private:
		string _Zeichenkette, _searchstring, _s, _s1, _s2;
};

#endif
</code></pre>
<p>Dann noch der Code der Werkzeug Klasse an sich:</p>
<pre><code>#include &quot;Werkzeug.h&quot;

Werkzeug::Werkzeug() {};

Werkzeug::~Werkzeug() {};

string Werkzeug::ersetze(string s, string s1, string s2) {
	 int l = s1.length();
	 int i = s.find(s1);
	 while(i != string::npos) {
		s.replace(s.find(s1),l, s2);
		i++;
		i = s.find(s1, i);
	 } 
	return s;
 }

string Werkzeug::searchReplace(string searchstring)
{
 searchstring = ersetze(searchstring,&quot;+&quot;,&quot; &quot;);
 searchstring = ersetze(searchstring,&quot;%0D%0A&quot;,&quot;\n&quot;);
 searchstring = ersetze(searchstring,&quot;%21&quot;,&quot;!&quot;);
 searchstring = ersetze(searchstring,&quot;%22&quot;,&quot;\&quot;&quot;); //backslash vor dem Ausrufezeichen sagt dem Compiler, das folgende Zeichen ist kein Programmcode
 searchstring = ersetze(searchstring,&quot;%23&quot;,&quot;#&quot;);
 searchstring = ersetze(searchstring,&quot;%24&quot;,&quot;$&quot;);
 searchstring = ersetze(searchstring,&quot;%25&quot;,&quot;%&quot;);
 searchstring = ersetze(searchstring,&quot;%26&quot;,&quot;&amp;&quot;);
 searchstring = ersetze(searchstring,&quot;%27&quot;,&quot;´&quot;);
 searchstring = ersetze(searchstring,&quot;%28&quot;,&quot;(&quot;);
 searchstring = ersetze(searchstring,&quot;%29&quot;,&quot;)&quot;);
 searchstring = ersetze(searchstring,&quot;%2B&quot;,&quot;+&quot;);
 searchstring = ersetze(searchstring,&quot;%2C&quot;,&quot;,&quot;);
 searchstring = ersetze(searchstring,&quot;%2F&quot;,&quot;/&quot;);
 searchstring = ersetze(searchstring,&quot;%3A&quot;,&quot;:&quot;);
 searchstring = ersetze(searchstring,&quot;%3B&quot;,&quot;;&quot;);
 searchstring = ersetze(searchstring,&quot;%3C&quot;,&quot;&lt;&quot;);
 searchstring = ersetze(searchstring,&quot;%3D&quot;,&quot;=&quot;);
 searchstring = ersetze(searchstring,&quot;%3E&quot;,&quot;&gt;&quot;);
 searchstring = ersetze(searchstring,&quot;%3F&quot;,&quot;?&quot;);
 searchstring = ersetze(searchstring,&quot;%5C&quot;,&quot;\\&quot;); //backslash vor dem backslash sagt dem Compiler, das folgende Zeichen ist kein Programmcode
 searchstring = ersetze(searchstring,&quot;%60&quot;,&quot;`&quot;);
 searchstring = ersetze(searchstring,&quot;%7B&quot;,&quot;{&quot;);
 searchstring = ersetze(searchstring,&quot;%7C&quot;,&quot;|&quot;);
 searchstring = ersetze(searchstring,&quot;%7D&quot;,&quot;}&quot;);
 searchstring = ersetze(searchstring,&quot;%7E&quot;,&quot;~&quot;);
 searchstring = ersetze(searchstring,&quot;%B4&quot;,&quot;'&quot;);
 searchstring = ersetze(searchstring,&quot;%C4&quot;,&quot;Ä&quot;);
 searchstring = ersetze(searchstring,&quot;%D6&quot;,&quot;Ö&quot;);
 searchstring = ersetze(searchstring,&quot;%DC&quot;,&quot;Ü&quot;);
 searchstring = ersetze(searchstring,&quot;%E4&quot;,&quot;ä&quot;);
 searchstring = ersetze(searchstring,&quot;%F6&quot;,&quot;ö&quot;);
 searchstring = ersetze(searchstring,&quot;%FC&quot;,&quot;ü&quot;);
 return searchstring;
}

string Werkzeug::directory(string verz, string mask)
{
    DIR *hdir;
    struct dirent *entry;
    int inl_slaenge = 0;
    string fn, list, z;
    char verzc[20]=&quot; &quot;;
    const char *verz1, *mask1, *z1;
    verz1 = verz.c_str();
    //strcpy( verzc, verz1);
    mask1 = mask.c_str();

    //verz.c_str();
    hdir = opendir(verz1);
    do
    {
        entry = readdir(hdir);
        if (entry)
        {
        	inl_slaenge = strlen(entry-&gt;d_name);
        	z = entry-&gt;d_name+inl_slaenge-4;
        	z1 = z.c_str();
        	if ((strcmp(mask1, z1) == 0))
        		{
        			fn = entry-&gt;d_name; //Konvertieren des Dateinamens in einen String
        			fn.replace(fn.find(mask),4,&quot;&quot;); //Dateiendung inklusive Punkt abschneiden
              fn = &quot;&lt;a href=\&quot;&quot;+verz+fn+mask+&quot;\&quot;&gt;&quot;+fn+&quot;&lt;/a&gt;&quot;;  //erzeugen eines Links
              list = list + fn + &quot;&lt;br&gt;\n&quot;;
        		}
        }
    } while (entry);
    closedir(hdir);
    return list;
}

//static string quoted(const string &amp;src);

list&lt;string&gt; split (string str, char tr) {
	list&lt;string&gt; strElemente; // Ergebnis: Liste von Teilstrings
	string::iterator pos1, // Anfang/Ende von
		pos2; // Teilstrings
		pos1 = str.begin(); // Beginn eines Teilstrings
		pos2 = find (pos1, str.end(), tr); // Ende eines Teilstrings
		while ( pos2 != str.end()) { // Trenner als Ende gefunden
			assert(*pos2==tr);
			string elem; // Teilstring
			copy (pos1, pos2, back_inserter(elem)); // Teilstring kopieren
			strElemente.push_back(elem); // Teilstring speichern
			pos1 = pos2;
			++pos1; // neuer Anfang hinter altem Ende
			pos2 = find (pos1, str.end(), tr); // neue Suche
		}
		// pos2 zeigt auf das Ende. pos1 zeigt auf den Beginn
		// des letzten Teilstrings vor dem Ende.
		// Letzten Teilstring extrahieren:
		//

		string last;
		copy (pos1, str.end(), back_inserter(last));
		strElemente.push_back(last);
		return strElemente;
}

	map &lt;string, string&gt; parseStream(string str) {
	list&lt;string&gt; feldListe = split(str, '&amp;'); // in Felder zerlegen
	map&lt; string,string &gt; felder; // Ergebnis
	// Felder in Paare aus Feldnamen und Wert splitten
	//

	for ( list&lt;string&gt;::iterator i = feldListe.begin();
		i != feldListe.end();
		++i){
			list&lt;string&gt; feldStr = split(*i, '=');
			pair&lt; string, string &gt; feld;
			feld.first = feldStr.front(); // Feldname
			feldStr.pop_front();
			feld.second = feldStr.front(); // Feldwert
			felder[feld.first] = feld.second; // Paar speichern
		}
return felder; // Abbildung Feld-Name -&gt; Feld-Wert zurueck geben
}
</code></pre>
<p>und jetzt noch der Code, wo ich die Methode nutzen möchte:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;cstdlib&gt;
#include &lt;list&gt;
#include &lt;map&gt;
#include &quot;Artikel.h&quot;
#include &quot;Werkzeug.h&quot;

using namespace std;

int main()
{
 string eingabe;
 getline(cin,eingabe);
  Werkzeug cgi;
  map &lt;string, string&gt; test = cgi.parseStream(eingabe);

  test[&quot;user_eingabe&quot;] = cgi.searchReplace(test[&quot;user_eingabe&quot;]);
  test[&quot;EingabeFeld&quot;] = cgi.searchReplace(test[&quot;EingabeFeld&quot;]);
  test[&quot;EingabeFeld1&quot;] = cgi.searchReplace(test[&quot;EingabeFeld1&quot;]);
 	Artikel Wiki(&quot;Titel&quot;,test[&quot;EingabeFeld1&quot;]);
 	Wiki.printHeader();
 cout &lt;&lt; &quot;&lt;p&gt;&quot; &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;h3&gt;CGI Analyse&lt;/h3&gt;&quot; &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;hr&gt;&quot; &lt;&lt; endl;

 cout &lt;&lt; &quot;Die Elemente:&lt;br&gt; &quot; &lt;&lt; endl;
 cout &lt;&lt; &quot; Feld-A = &quot; &lt;&lt; test[&quot;EingabeFeld&quot;] // Wert von Feld mit Namen Feld-A ausgeben
 &lt;&lt; &quot;&lt;br&gt;&quot;
 &lt;&lt; &quot; Feld-B = &quot; &lt;&lt; test[&quot;EingabeFeld1&quot;] // Wert von Feld mit Namen Feld-B ausgeben
 &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;p&gt;&quot; &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;hr&gt;&quot; &lt;&lt; endl;
 cout &lt;&lt; &quot;&lt;/body&gt;&lt;/html&gt;&quot; &lt;&lt; endl;

 cout &lt;&lt; test[&quot;user_eingabe&quot;];
 cout &lt;&lt; &quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;hr&gt;&quot;;
 cout &lt;&lt; cgi.directory(&quot;../htdocs/&quot;,&quot;.htm&quot;);
 //dir();

 ofstream fout(test[&quot;EingabeFeld&quot;].c_str());
 fout &lt;&lt; test[&quot;user_eingabe&quot;];
 fout.close();

}
</code></pre>
<p>Vielen Dank im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184145</guid><dc:creator><![CDATA[luckyluke]]></dc:creator><pubDate>Wed, 29 Nov 2006 23:15:25 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Thu, 30 Nov 2006 07:09:32 GMT]]></title><description><![CDATA[<p>Du hast die Methoden split() und parseStream() zwar in der Definition der Klasse angegeben, aber in deiner Werkzeug.cpp stehen nur zwei globale Funktionen mit dem selben Namen.<br />
(oder kurz: Du hast das Werkzeug:: bei der Definition vergessen)</p>
<p>PS: Vielleicht übersehe ich ja etwas (bei deinem Code auch nicht verwunderlich), aber an welcher Stelle verwendest du eigentlich die Klassenmember _Zeichenkette, _searchstring,...?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184187</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 30 Nov 2006 07:09:32 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Thu, 30 Nov 2006 07:25:17 GMT]]></title><description><![CDATA[<p>ohhh man, natürlich. Naja sowas passiert halt als c++ Anfänger. Und das der Code unübersichtlich ist. Naja, mir egal, hauptsache es genügt später annähernd den Anforderungen des Profs <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/1184193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184193</guid><dc:creator><![CDATA[luckyluke]]></dc:creator><pubDate>Thu, 30 Nov 2006 07:25:17 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Thu, 30 Nov 2006 07:30:47 GMT]]></title><description><![CDATA[<p>C Stoll wollte wohl eher auf das verwenden von c/c++ Code Tags statt einfachen code Tags hinweisen, sowie dass du etwas viel Code gepostet hast (manches haettest du ja wegstreichen koenen) das macht es den leuten hier schwieriger es zu lesen und ergo zu korrigieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184199</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Thu, 30 Nov 2006 07:30:47 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Thu, 30 Nov 2006 07:47:26 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13317">@Shinja</a>: Worauf ich mit meinem PS eigentlich hinauswollte war die Frage, warum das Ganze in eine Klasse verpackt wurde (theoretisch hätte auch eine Sammlung an freien Funktionen ausgereicht). Schon die Tatsache, daß der Compiler die beiden Funktionen problemlos compiliert hat, deutet auf einen Designfehler oder Verständnisproblem hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184207</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 30 Nov 2006 07:47:26 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Thu, 30 Nov 2006 15:54:55 GMT]]></title><description><![CDATA[<p>Naja, also laut Prof soll alles in Klassen und objektorientiert. Dann hat er uns noch Designregeln mitgegeben. Aber wie gesagt: als Anfänger ist es schwer überhaupt was auf die Beine zu stellen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184708</guid><dc:creator><![CDATA[luckyluke]]></dc:creator><pubDate>Thu, 30 Nov 2006 15:54:55 GMT</pubDate></item></channel></rss>