<?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[Compilerfehler bei Templates]]></title><description><![CDATA[<p>Hallo, bei mir kommt immer Compilerfehler raus wenn ich folgendes compilieren will:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

template &lt;class T&gt;
T min( T x, T y)
{
    return( (x &lt; y) ? x : y);
}

int main()
{
    short x = 10, y = 2;

    cout &lt;&lt; &quot;Die kleinere Zahl: &quot; &lt;&lt; min(x, y) &lt;&lt; endl;    

    return 0;
}
</code></pre>
<p>es steht aber genauso wie im Buch. Trotzdem geht er nicht. Wieso nicht?<br />
In der Ausgabe steht:</p>
<pre><code>------ Erstellen gestartet: Projekt: mini, Konfiguration: Debug Win32 ------
Kompilieren...
MINI_T.CPP
l:\cpp\notebook programmierung\c++ lernen und professionell anwenden\ansi\kap32\mini_t.cpp(22) : error C2668: 'min': Mehrdeutiger Aufruf einer überladenen Funktion
        l:\cpp\notebook programmierung\c++ lernen und professionell anwenden\ansi\kap32\mini_t.cpp(10): kann 'T min&lt;short&gt;(T,T)' sein
        with
        [
            T=short
        ]
        o:\programme\microsoft visual studio 8\vc\include\xutility(2951): oder &quot;const _Ty &amp;std::min&lt;short&gt;(const _Ty &amp;,const _Ty &amp;)&quot;
        with
        [
            _Ty=short
        ]
        bei Anpassung der Argumentliste '(short, short)'
Das Buildprotokoll wurde unter &quot;file://l:\CPP\Notebook Programmierung\C++ Lernen und Professionell anwenden\ANSI\KAP32\Debug\BuildLog.htm&quot; gespeichert.
mini - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/202678/compilerfehler-bei-templates</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 22:13:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202678.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Jan 2008 13:56:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Compilerfehler bei Templates on Mon, 14 Jan 2008 13:56:50 GMT]]></title><description><![CDATA[<p>Hallo, bei mir kommt immer Compilerfehler raus wenn ich folgendes compilieren will:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

template &lt;class T&gt;
T min( T x, T y)
{
    return( (x &lt; y) ? x : y);
}

int main()
{
    short x = 10, y = 2;

    cout &lt;&lt; &quot;Die kleinere Zahl: &quot; &lt;&lt; min(x, y) &lt;&lt; endl;    

    return 0;
}
</code></pre>
<p>es steht aber genauso wie im Buch. Trotzdem geht er nicht. Wieso nicht?<br />
In der Ausgabe steht:</p>
<pre><code>------ Erstellen gestartet: Projekt: mini, Konfiguration: Debug Win32 ------
Kompilieren...
MINI_T.CPP
l:\cpp\notebook programmierung\c++ lernen und professionell anwenden\ansi\kap32\mini_t.cpp(22) : error C2668: 'min': Mehrdeutiger Aufruf einer überladenen Funktion
        l:\cpp\notebook programmierung\c++ lernen und professionell anwenden\ansi\kap32\mini_t.cpp(10): kann 'T min&lt;short&gt;(T,T)' sein
        with
        [
            T=short
        ]
        o:\programme\microsoft visual studio 8\vc\include\xutility(2951): oder &quot;const _Ty &amp;std::min&lt;short&gt;(const _Ty &amp;,const _Ty &amp;)&quot;
        with
        [
            _Ty=short
        ]
        bei Anpassung der Argumentliste '(short, short)'
Das Buildprotokoll wurde unter &quot;file://l:\CPP\Notebook Programmierung\C++ Lernen und Professionell anwenden\ANSI\KAP32\Debug\BuildLog.htm&quot; gespeichert.
mini - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1436357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436357</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Mon, 14 Jan 2008 13:56:50 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler bei Templates on Mon, 14 Jan 2008 14:01:36 GMT]]></title><description><![CDATA[<p>nun, dann ist das buch wohl fehlerhaft <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>
<p>benenne das vielleicht mal so um:</p>
<pre><code class="language-cpp">T minimum( T x, T y)
</code></pre>
<p>wie der fehler schon, sagt. min ist bereits im namespace std definiert, und<br />
anhand der typen kann der kompiler nicht entscheiden welches er denn benutzen<br />
soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436364</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Mon, 14 Jan 2008 14:01:36 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler bei Templates on Mon, 14 Jan 2008 14:01:41 GMT]]></title><description><![CDATA[<p>naja, weil es scheinbar die funktion</p>
<pre><code class="language-cpp">const _Ty &amp;std::min&lt;short&gt;(const _Ty &amp;,const _Ty &amp;);
</code></pre>
<p>in der standard bibliothek gibt.<br />
nenn deine funktion einfach wengl um, dann sollte es gehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436365</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Mon, 14 Jan 2008 14:01:41 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler bei Templates on Mon, 14 Jan 2008 14:02:18 GMT]]></title><description><![CDATA[<p>Es gibt bereits eine Funktion min() in der Standard-Bibliothek (die offenbar auf Umwegen von der iostream-Bibliothek eingebunden wird) - und deren Signatur kann nicht von deiner Template-Funktion unterschieden werden. Du könntest das Problem lösen, indem du das &quot;using namespace std;&quot; weglässt und die std::-Namen voll spezifizierst (oder gezielt importierst):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using std::cout;
using std::endl;
...
</code></pre>
<p>(oder indem du deine Funktion umbenennst)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436367</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 14 Jan 2008 14:02:18 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler bei Templates on Mon, 14 Jan 2008 14:02:50 GMT]]></title><description><![CDATA[<p>Vorden schrieb:</p>
<blockquote>
<p>nenn deine funktion einfach wengl um, dann sollte es gehen</p>
</blockquote>
<p>*hust* Namespaces *hust* <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/1436368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436368</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 14 Jan 2008 14:02:50 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler bei Templates on Mon, 14 Jan 2008 14:04:37 GMT]]></title><description><![CDATA[<p>muahaha, ich war der schnellste <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436370</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Mon, 14 Jan 2008 14:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehler bei Templates on Mon, 14 Jan 2008 14:06:41 GMT]]></title><description><![CDATA[<p>achso das war es!</p>
<p>war total verwirrt. sogar das aus wiki funktionierte nicht<br />
die benützten &quot;max&quot;</p>
<p>danke!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1436372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1436372</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Mon, 14 Jan 2008 14:06:41 GMT</pubDate></item></channel></rss>