<?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[Was mache ich falsch? (Templates)]]></title><description><![CDATA[<p>Hallo Liebe Proggs<br />
Mein Compiler spuckt nur noch Fehler aus<br />
Ich haben mich an Template Klassen (in einer Headerdatei)<br />
versucht<br />
Hier mein Code:(Header)</p>
<pre><code class="language-cpp">template &lt;class Y,class X&gt;
class CRaumschiff
{
private:
	Y m_Geschwindigkeit;
	X m_Bremsweg:
public:

	CRaumschiff (Y Geschwindigkeit, X Bremsweg);

	void BerechneUnfallrisiko (Y Geschwindigkeit, X Bremsweg)
};

template &lt;class Y,class X&gt;
void CRaumschiff&lt;Y,X&gt;::BerechneUnfallrisiko (Y Geschwindigkeit, X Bremsweg)
	{

		if(m_Geschwindigkeit &gt;= 100.0f)
		 {
			 if(m_Bremsweg &lt;= 50)
			 {
					   cout &lt;&lt; &quot;Raus aus dem Wagen...Schnell!!&quot; &lt;&lt; endl;
			 }       
			 else(m_Bremsweg &gt;= 50)
			 { 
				 cout &lt;&lt; &quot;Jetzt aber scharf bremsen!!&quot; &lt;&lt; endl;
		     }
		}

		 else(m_Geschwindigkeit &lt;=100.0f)
		 {

			      if(m_Bremsweg &lt;= 50)
				  {  
					  cout &lt;&lt; &quot;Jetzt aber scharf bremsen!!&quot; &lt;&lt; endl;
				  }
			      else (m_Bremsweg &gt;= 50)
				  {  
					  cout &lt;&lt; &quot;Ruisch,Brauner,Ruisch...&quot; &lt;&lt; endl;
			      }

        }
}

CRaumschiff&lt;Y,X&gt;::CRaumschiff (Y Geschwindigkeit,X Bremsweg)
	{
	m_Geschwindigkeit = Geschwindigkeit;
	m_Bremsweg = Bremsweg;
	}
</code></pre>
<p>Und hier meine Quell Datei:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;bklassen.hpp&quot;
using namespace std;

int main()
{
	CRaumschiff&lt;float,int&gt; Spieler (Geschwindigkeit,Bremsweg);

	cout &lt;&lt; &quot;Berechne Unfallrisiko!\nGeben sie ihre genaue Geschwindigkeit an: &quot;;
	cin &gt;&gt; Speed;

	cout &lt;&lt; endl &lt;&lt; &quot;Geben sie ihren Bremsweg an: &quot;;
	cin &lt;&lt; Burn;

	Spieler.BerechneUnfallrisiko(Geschwindigkeit,Bremsweg);

	return 0;
}
</code></pre>
<p>Ich entschuldige mich jetzt schon für alle Schusselfehler..</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289378/was-mache-ich-falsch-templates</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 05:44:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289378.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Jul 2011 19:26:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:26:46 GMT]]></title><description><![CDATA[<p>Hallo Liebe Proggs<br />
Mein Compiler spuckt nur noch Fehler aus<br />
Ich haben mich an Template Klassen (in einer Headerdatei)<br />
versucht<br />
Hier mein Code:(Header)</p>
<pre><code class="language-cpp">template &lt;class Y,class X&gt;
class CRaumschiff
{
private:
	Y m_Geschwindigkeit;
	X m_Bremsweg:
public:

	CRaumschiff (Y Geschwindigkeit, X Bremsweg);

	void BerechneUnfallrisiko (Y Geschwindigkeit, X Bremsweg)
};

template &lt;class Y,class X&gt;
void CRaumschiff&lt;Y,X&gt;::BerechneUnfallrisiko (Y Geschwindigkeit, X Bremsweg)
	{

		if(m_Geschwindigkeit &gt;= 100.0f)
		 {
			 if(m_Bremsweg &lt;= 50)
			 {
					   cout &lt;&lt; &quot;Raus aus dem Wagen...Schnell!!&quot; &lt;&lt; endl;
			 }       
			 else(m_Bremsweg &gt;= 50)
			 { 
				 cout &lt;&lt; &quot;Jetzt aber scharf bremsen!!&quot; &lt;&lt; endl;
		     }
		}

		 else(m_Geschwindigkeit &lt;=100.0f)
		 {

			      if(m_Bremsweg &lt;= 50)
				  {  
					  cout &lt;&lt; &quot;Jetzt aber scharf bremsen!!&quot; &lt;&lt; endl;
				  }
			      else (m_Bremsweg &gt;= 50)
				  {  
					  cout &lt;&lt; &quot;Ruisch,Brauner,Ruisch...&quot; &lt;&lt; endl;
			      }

        }
}

CRaumschiff&lt;Y,X&gt;::CRaumschiff (Y Geschwindigkeit,X Bremsweg)
	{
	m_Geschwindigkeit = Geschwindigkeit;
	m_Bremsweg = Bremsweg;
	}
</code></pre>
<p>Und hier meine Quell Datei:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;bklassen.hpp&quot;
using namespace std;

int main()
{
	CRaumschiff&lt;float,int&gt; Spieler (Geschwindigkeit,Bremsweg);

	cout &lt;&lt; &quot;Berechne Unfallrisiko!\nGeben sie ihre genaue Geschwindigkeit an: &quot;;
	cin &gt;&gt; Speed;

	cout &lt;&lt; endl &lt;&lt; &quot;Geben sie ihren Bremsweg an: &quot;;
	cin &lt;&lt; Burn;

	Spieler.BerechneUnfallrisiko(Geschwindigkeit,Bremsweg);

	return 0;
}
</code></pre>
<p>Ich entschuldige mich jetzt schon für alle Schusselfehler..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088341</guid><dc:creator><![CDATA[crashjosh]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:26:46 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:31:59 GMT]]></title><description><![CDATA[<p>Erstens würde es uns die Angelegenheit erleichtern, wenn wir mehr wissen als &quot;da gibt es einen Fehler&quot; - der Compiler liefert normalerweise sehr ausführliche Beschreibungen zu einem Problem, und selbst wenn du sie nicht verstehst, können wir damit dein Problem eingrenzen.</p>
<p>Zweitens: Vor Zeile 48 fehlt die Angabe, daß jetzt eine Template-Funktion folgt.</p>
<p>Drittens: Was für einen Sinn hat das Template überhaupt? Die Funktion dort würde genausogut funktionieren, wenn sie in einer normalen Klasse mit zwei double-Membern leben würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088345</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:31:59 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:37:04 GMT]]></title><description><![CDATA[<p>Ja^^ ich würde nur gerne mit Templates üben (C++ für Spieleprogrammierer,Heiko Kalista)</p>
<p>Hier sind die Fehler:</p>
<p>1&gt;c:\users\josh\documents\visual studio 2010\projects\tklassen\tklassen.cpp(11): error C2065: 'Speed': nichtdeklarierter Bezeichner<br />
1&gt;c:\users\josh\documents\visual studio 2010\projects\tklassen\tklassen.cpp(14): error C2065: 'Burn': nichtdeklarierter Bezeichner<br />
1&gt;c:\users\josh\documents\visual studio 2010\projects\tklassen\tklassen.cpp(16): error C2065: 'Geschwindigkeit': nichtdeklarierter Bezeichner<br />
1&gt;c:\users\josh\documents\visual studio 2010\projects\tklassen\tklassen.cpp(16): error C2065: 'Bremsweg': nichtdeklarierter Bezeichner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088347</guid><dc:creator><![CDATA[crashjosh]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:37:04 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:45:03 GMT]]></title><description><![CDATA[<p>Du hast auch keine Variablen mit diesen Namen angegeben - da ist es eigentlich erstaunlich, daß Zeile 7 anstandslos akzeptiert wurde.<br />
Besser sieht es so aus:</p>
<pre><code class="language-cpp">float Speed;
    int Burn;    

    cout &lt;&lt; &quot;Berechne Unfallrisiko!\nGeben sie ihre genaue Geschwindigkeit an: &quot;;
    cin &gt;&gt; Speed;

    cout &lt;&lt; endl &lt;&lt; &quot;Geben sie ihren Bremsweg an: &quot;;
    cin &lt;&lt; Burn;

    CRaumschiff&lt;float,int&gt; Spieler(Speed,Burn)
    Spieler.BerechneUnfallrisiko(Speed,Burn);

    return 0;
</code></pre>
<p>PS: Wozu übernimmt die Funktion eigentlich Parameter, wenn sie dann mit den Klassen-Elementen rechnet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088353</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:45:03 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:50:29 GMT]]></title><description><![CDATA[<p>Hm jetzt kommt ein anderer hinzu</p>
<p>1&gt;c:\users\josh\documents\visual studio 2010\projects\tklassen\bklassen.hpp(10): error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
1&gt; c:\users\josh\documents\visual studio 2010\projects\tklassen\bklassen.hpp(10): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template &quot;CRaumschiff&lt;Y,X&gt;&quot;.<br />
1&gt;c:\users\josh\documents\visual studio 2010\projects\tklassen\bklassen.hpp(10): error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
1&gt; c:\users\josh\documents\visual studio 2010\projects\tklassen\tklassen.cpp(17): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template &quot;CRaumschiff&lt;Y,X&gt;&quot;.<br />
1&gt; with<br />
1&gt; [<br />
1&gt; Y=float,<br />
1&gt; X=int<br />
1&gt; ]</p>
<p>es fehlt aber kein ; davor</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088356</guid><dc:creator><![CDATA[crashjosh]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:50:29 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:50:34 GMT]]></title><description><![CDATA[<p>Dazu kommen einige Fehler in der Header-Datei.</p>
<pre><code class="language-cpp">X m_Bremsweg:
</code></pre>
<pre><code class="language-cpp">else(m_Bremsweg &gt;= 50)
</code></pre>
<p>cout ohne std:: davor usw.</p>
<p>Habs mal so angepasst, dass es zumindest fehlerfrei kompiliert.</p>
<pre><code class="language-cpp">template &lt;class Y,class X&gt;
class CRaumschiff
{
private:
    Y m_Geschwindigkeit;
    X m_Bremsweg;
public:

    CRaumschiff (Y Geschwindigkeit, X Bremsweg);

    void BerechneUnfallrisiko (Y Geschwindigkeit, X Bremsweg);
};

template &lt;class Y,class X&gt;
void CRaumschiff&lt;Y,X&gt;::BerechneUnfallrisiko (Y Geschwindigkeit, X Bremsweg)
    {

        if(m_Geschwindigkeit &gt;= 100.0f)
         {
             if(m_Bremsweg &lt;= 50)
             {
                       std::cout &lt;&lt; &quot;Raus aus dem Wagen...Schnell!!&quot; &lt;&lt; std::endl;
             }      
             else if(m_Bremsweg &gt;= 50)
             {
                 std::cout &lt;&lt; &quot;Jetzt aber scharf bremsen!!&quot; &lt;&lt; std::endl;
             }
        }

         else if(m_Geschwindigkeit &lt;=100.0f)
         {

                  if(m_Bremsweg &lt;= 50)
                  {  
                      std::cout &lt;&lt; &quot;Jetzt aber scharf bremsen!!&quot; &lt;&lt; std::endl;
                  }
                  else if(m_Bremsweg &gt;= 50)
                  {  
                      std::cout &lt;&lt; &quot;Ruisch,Brauner,Ruisch...&quot; &lt;&lt; std::endl;
                  }

        }
}

template &lt;class Y,class X&gt;
CRaumschiff&lt;Y,X&gt;::CRaumschiff (Y Geschwindigkeit,X Bremsweg)
    {
    m_Geschwindigkeit = Geschwindigkeit;
    m_Bremsweg = Bremsweg;
    }
</code></pre>
<p>Die schon von CStoll veränderte main.cpp brauchte dann aber auch noch eine weitere Anpassung. Die Richtung vom Stream-Operator an cin hat nicht gestimmt. <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 class="language-cpp">#include &lt;iostream&gt;
#include &quot;bklassen.hpp&quot;
using namespace std;

int main()
{
    float Speed;
    int Burn;    

    cout &lt;&lt; &quot;Berechne Unfallrisiko!\nGeben sie ihre genaue Geschwindigkeit an: &quot;;
    cin &gt;&gt; Speed;

    cout &lt;&lt; endl &lt;&lt; &quot;Geben sie ihren Bremsweg an: &quot;;
    cin &gt;&gt; Burn;

    CRaumschiff&lt;float,int&gt; Spieler(Speed,Burn);
    Spieler.BerechneUnfallrisiko(Speed,Burn);

    return 0;
}
</code></pre>
<p>So sollte es gehen. Ob es dann auch das tut, was es soll, weiß ich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088357</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:50:34 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:51:14 GMT]]></title><description><![CDATA[<p>Die vorigen Fehler sind weg ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088358</guid><dc:creator><![CDATA[crashjosh]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:51:14 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:53:22 GMT]]></title><description><![CDATA[<p>Ja es klappt!!! Danke :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088359</guid><dc:creator><![CDATA[crashjosh]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:53:22 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 19:57:26 GMT]]></title><description><![CDATA[<p>crashjosh schrieb:</p>
<blockquote>
<p>Hm jetzt kommt ein anderer hinzu</p>
<p>1&gt;c:\users\josh\documents\visual studio 2010\projects\tklassen\bklassen.hpp(10): error C2143: Syntaxfehler: Es fehlt ';' vor '}'</p>
<p>es fehlt aber kein ; davor</p>
</blockquote>
<p>Doch, in deinem obigen Code fehlte ein Semikolon am Ende der Methoden-Deklaration von BerechneUnfallrisiko().</p>
<p>Ansonsten ist immer noch die Frage offen, wozu diese Funktion überhaupt Parameter entgegennimmt, wenn sie danach mit den (vom Konstruktor gefüllten) Klassen-Membern arbeitet.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12051">@Dobi</a>: Den falschen Operator hatte ich aus Josh's Beitrag kopiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088362</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 03 Jul 2011 19:57:26 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 20:00:33 GMT]]></title><description><![CDATA[<p>Dann war das ein Druckfehler im Buch <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/2088365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088365</guid><dc:creator><![CDATA[crashjosh]]></dc:creator><pubDate>Sun, 03 Jul 2011 20:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 20:03:21 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>: Jupp, hatte ich gesehn, den Satz aber wohl nicht ganz eindeutig formuliert. Dass <em>du</em> nicht vor hattest, irgendwas in cin zu schieben, war für mich selbstverständlich. <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>
<p>Edit: Ich meine natürlich: Jaja, das kann im Nachhinein jeder sagen. Und den Eingangspost hast du bestimmt jetzt auch noch einfach editiert, um Beweise zu fälschen. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088367</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Sun, 03 Jul 2011 20:03:21 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 20:10:06 GMT]]></title><description><![CDATA[<p>Auf Frischer Tat ertappt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Neindas mit dem Druckfehler stimmte ,denn ich habe die 1.<br />
Und 3. Auflage des Buches und ham' geschusselt :o</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088373</guid><dc:creator><![CDATA[crashjosh]]></dc:creator><pubDate>Sun, 03 Jul 2011 20:10:06 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 20:16:22 GMT]]></title><description><![CDATA[<p>Du warst doch gar nicht gemeint. <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="😃"
    /><br />
Aber was du noch machen könntest, wäre einheitlicher einzurücken. Macht die ganze Sache übersichtlicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088378</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Sun, 03 Jul 2011 20:16:22 GMT</pubDate></item><item><title><![CDATA[Reply to Was mache ich falsch? (Templates) on Sun, 03 Jul 2011 20:22:48 GMT]]></title><description><![CDATA[<p>Dobi schrieb:</p>
<blockquote>
<p>Edit: Ich meine natürlich: Jaja, das kann im Nachhinein jeder sagen. Und den Eingangspost hast du bestimmt jetzt auch noch einfach editiert, um Beweise zu fälschen. :p</p>
</blockquote>
<p>Also das würdest du sehen - und in fremden Beiträgen pfusche ich auch nur herum, wenn ich einen echten Grund dafür habe <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/2088383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088383</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 03 Jul 2011 20:22:48 GMT</pubDate></item></channel></rss>