<?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[[GELÖST] Undefined refrence to... ??]]></title><description><![CDATA[<p>Hallo! <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="🙂"
    /><br />
Ich hab mich mal wieder an einem eigenen Header vesucht (diesmal ohne Template <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="🙂"
    /> ) und bin wieder auf die NAse geflogen.<br />
Ich bekomme die Fehlermeldung &quot;Undefined reference to 'ausdruck(char&amp;)'&quot; und ich dachte in meinem Header wäre alles korrekt definiert. :o(</p>
<p>Vlt. hat jemand Lust, mir auf die Sprünge zu helfen?<br />
Danke im Voraus!</p>
<pre><code class="language-cpp">//rechenarten.h
#ifndef RECHENARTEN_H
#define RECHENARTEN_H

long ausdruck (char&amp; c);
long summand (char&amp; c);
long faktor (char&amp; c);
long zahl (char&amp; c);

#endif
</code></pre>
<pre><code class="language-cpp">//rechenarten.cpp
#include &lt;iostream&gt;
#include &lt;cctype&gt;  // isdigit()
#include &quot;rechenarten.h&quot;

long ausdruck (char&amp; c) {
    long a;
    if(c == '-')    {
        std::cin.get(c);
        a = -summand(c);
    }

    else {
        if(c == '+')
            std::cin.get(c);
        a = summand(c);
    }

    while(c == '-' || c == '+')
        if(c == '+')    {
            std::cin.get(c);
            a += summand(c);
        }

        else   {
            std::cin.get(c);
            a -= summand(c);
        }

    return a;
}

long summand (char &amp;c)  {
    long s = faktor(c);
    while ( c == '*' || c == '/')
        if( c == '*')   {
            std::cin.get(c);
            s *= faktor(c);
        }
        else   {
            std::cin.get(c);
            s /= faktor(c);
        }

    return s;
}

long faktor (char &amp;c)   {
    long f;

    if ( c == '(')  {
        std::cin.get(c);
        f = ausdruck(c);
        if ( c != ')' )
            std::cout &lt;&lt; &quot;Rechte Klammer fehlt!\n&quot;;
        else std::cin.get(c);
    }
    else f = zahl(c);
    return f;
}

long zahl (char&amp; c) {
    long z = 0;

    while(isdigit(c))   {
        z = 10*z + long(c - '0');
        std::cin.get(c);
    }
    return z;
}
</code></pre>
<pre><code class="language-cpp">//Taschenrechner.cpp
#include &lt;iostream&gt;
#include &quot;rechenarten.h&quot;

int main()   {
    char ch;
    do  {
        std::cout &lt;&lt; &quot;\n&gt;&gt;&quot;;
        std::cin.get(ch);
        if(ch != 'e')
            std::cout &lt;&lt; ausdruck(ch);
    } while (ch != 'e');
}
</code></pre>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/273507/gelöst-undefined-refrence-to</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 05:13:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273507.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Sep 2010 14:16:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 16:45:42 GMT]]></title><description><![CDATA[<p>Hallo! <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="🙂"
    /><br />
Ich hab mich mal wieder an einem eigenen Header vesucht (diesmal ohne Template <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="🙂"
    /> ) und bin wieder auf die NAse geflogen.<br />
Ich bekomme die Fehlermeldung &quot;Undefined reference to 'ausdruck(char&amp;)'&quot; und ich dachte in meinem Header wäre alles korrekt definiert. :o(</p>
<p>Vlt. hat jemand Lust, mir auf die Sprünge zu helfen?<br />
Danke im Voraus!</p>
<pre><code class="language-cpp">//rechenarten.h
#ifndef RECHENARTEN_H
#define RECHENARTEN_H

long ausdruck (char&amp; c);
long summand (char&amp; c);
long faktor (char&amp; c);
long zahl (char&amp; c);

#endif
</code></pre>
<pre><code class="language-cpp">//rechenarten.cpp
#include &lt;iostream&gt;
#include &lt;cctype&gt;  // isdigit()
#include &quot;rechenarten.h&quot;

long ausdruck (char&amp; c) {
    long a;
    if(c == '-')    {
        std::cin.get(c);
        a = -summand(c);
    }

    else {
        if(c == '+')
            std::cin.get(c);
        a = summand(c);
    }

    while(c == '-' || c == '+')
        if(c == '+')    {
            std::cin.get(c);
            a += summand(c);
        }

        else   {
            std::cin.get(c);
            a -= summand(c);
        }

    return a;
}

long summand (char &amp;c)  {
    long s = faktor(c);
    while ( c == '*' || c == '/')
        if( c == '*')   {
            std::cin.get(c);
            s *= faktor(c);
        }
        else   {
            std::cin.get(c);
            s /= faktor(c);
        }

    return s;
}

long faktor (char &amp;c)   {
    long f;

    if ( c == '(')  {
        std::cin.get(c);
        f = ausdruck(c);
        if ( c != ')' )
            std::cout &lt;&lt; &quot;Rechte Klammer fehlt!\n&quot;;
        else std::cin.get(c);
    }
    else f = zahl(c);
    return f;
}

long zahl (char&amp; c) {
    long z = 0;

    while(isdigit(c))   {
        z = 10*z + long(c - '0');
        std::cin.get(c);
    }
    return z;
}
</code></pre>
<pre><code class="language-cpp">//Taschenrechner.cpp
#include &lt;iostream&gt;
#include &quot;rechenarten.h&quot;

int main()   {
    char ch;
    do  {
        std::cout &lt;&lt; &quot;\n&gt;&gt;&quot;;
        std::cin.get(ch);
        if(ch != 'e')
            std::cout &lt;&lt; ausdruck(ch);
    } while (ch != 'e');
}
</code></pre>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949722</guid><dc:creator><![CDATA[Tonikum]]></dc:creator><pubDate>Wed, 08 Sep 2010 16:45:42 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 14:28:38 GMT]]></title><description><![CDATA[<p>so wie ich das vermute, wird rechenarten.cpp nicht compiliert und nicht verlinkt wodurch der linker-error auftritt.</p>
<p>unter welcher ide arbeitest du / welchen compiler(/linker) nutzt du?<br />
gruß<br />
...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949727</guid><dc:creator><![CDATA[lemacabre]]></dc:creator><pubDate>Wed, 08 Sep 2010 14:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 14:37:09 GMT]]></title><description><![CDATA[<p>Ich benutze Codeblocks, die wiederum MinGW nutzt, soweit ich weiß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949733</guid><dc:creator><![CDATA[Tonikum]]></dc:creator><pubDate>Wed, 08 Sep 2010 14:37:09 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 14:40:17 GMT]]></title><description><![CDATA[<p>Und du bist sicher, dass du die Datei mitkompilierst?</p>
<p>Ansonsten Debug-Strategie #4: Reduziere dein Beispiel auf ein Minimum, sodass es den Fehler immer noch repräsentiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949734</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 08 Sep 2010 14:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 14:45:23 GMT]]></title><description><![CDATA[<p>ok mit codeblocks kenn ich mich ned so aus ...<br />
hast du dafür eine makefile gemacht?<br />
wenn ja: poste es doch mal, wenn nein: poste doch mal den linkererror im detail ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949735</guid><dc:creator><![CDATA[lemacabre]]></dc:creator><pubDate>Wed, 08 Sep 2010 14:45:23 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 14:47:28 GMT]]></title><description><![CDATA[<p>ach ja ...<br />
hast du die schritte wie folgt gemacht?<br />
<a href="http://www.pronix.de/pronix-1194.html" rel="nofollow">http://www.pronix.de/pronix-1194.html</a><br />
(google hilft <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/1949736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949736</guid><dc:creator><![CDATA[lemacabre]]></dc:creator><pubDate>Wed, 08 Sep 2010 14:47:28 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 14:57:01 GMT]]></title><description><![CDATA[<p>Würd dir empfehlen das Projekt nochmal neu anzulegen und die Dateien dann auch neu zu erstellen über CodeBlocks. Und dann den Code reinkopieren.<br />
Probier das mal, das müsste dann eigentlich gehen, weil Fehler am Code selber seh ich auch keine.</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949743</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Wed, 08 Sep 2010 14:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 15:10:27 GMT]]></title><description><![CDATA[<p>Danke für den Hinweis.<br />
Leider klappt es so nicht.. seltsam...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949756</guid><dc:creator><![CDATA[Tonikum]]></dc:creator><pubDate>Wed, 08 Sep 2010 15:10:27 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 15:11:49 GMT]]></title><description><![CDATA[<p>Ah, jetzt ab ich erst deinen Post gelesen, lemacabre.<br />
Nein, ein Projekt hatte ich garnicht angelegt.<br />
Davon stand auch nix in meinem C++-Buch und bei den Beispielen vorher hatte es auch geklappt. Wieso muss ich dafür ein Projekt anlegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949759</guid><dc:creator><![CDATA[Tonikum]]></dc:creator><pubDate>Wed, 08 Sep 2010 15:11:49 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 15:19:25 GMT]]></title><description><![CDATA[<p>Tonikum schrieb:</p>
<blockquote>
<p>Wieso muss ich dafür ein Projekt anlegen?</p>
</blockquote>
<p>Entweder du kannst selber händisch deinen Compiler und Linker bedienen (sprich auf der Kommandozeile einzelne Dateien kompilieren und die Objectfiles dann linken) oder du lässt dir von einer IDE helfen. So ein &quot;Projekt&quot; enthält u.A. eine Liste aller zu kompilierender Dateien, welche einzelnen Targets (also .exe, libs) zugewiesen sind. Wenn du deine ganzen Dateien ins Projekt einfügst, wirst du solche Probleme nicht mehr bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949766</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 08 Sep 2010 15:19:25 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 15:21:44 GMT]]></title><description><![CDATA[<p>Ja wenn du ein Projekt anlegst, dann linkt der Linker automatisch alle Files bzw Objektdateien die in dem Projekt enthalten sind.<br />
Hast du nur einzelne Files musst du dass dem Linker schon mitteilen <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>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949769</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Wed, 08 Sep 2010 15:21:44 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 15:37:37 GMT]]></title><description><![CDATA[<p>ICh dachte, durch das Inkludieren des HEaders wüsste der Linker alles, was er braucht? Naja, dann mache ich das in Zukunft. Dankeschön <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="🙂"
    /><br />
Aber ich frage mich dennoch, wieso es bei den Beispielen davor geklappt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949786</guid><dc:creator><![CDATA[Tonikum]]></dc:creator><pubDate>Wed, 08 Sep 2010 15:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 15:50:00 GMT]]></title><description><![CDATA[<p>Im Header stehen meist nur Deklarationen, dein Programm will aber auch die Definitionen, denn ohne die weiß niemand was zu tun ist <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="😛"
    /><br />
Die Namenskonventionen kennt der Compiler/linker auch nicht. Du kannst deinen header &quot;Taschenrechner.h&quot; nennen, die Definitionen stecken dann aber in &quot;created_20100908_unit1.cpp&quot; im Unterordner &quot;src/impl/smart_smurph_drinking_slurm&quot;. Und der Compiler soll jetzt erraten, dass wenn &quot;Taschenrechner.h&quot; eingebunden wird, automatisch diese komische Datei ebenfalls kompiliert werden soll? Nönönö <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="😛"
    /> Das musst du denen schon selber sagen <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="😉"
    /><br />
Außerdem könnte der Header aus einer externen Bibliothek stammen, die als ganzes dazugelinkt wird - da gibt es gar nix mehr zum Kompilieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1949794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949794</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 08 Sep 2010 15:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to [GELÖST] Undefined refrence to... ?? on Wed, 08 Sep 2010 16:44:55 GMT]]></title><description><![CDATA[<p>*lach* Okay, 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="🙂"
    /><br />
Ich wünsche, ich würde das auch mal alles verstehen.<br />
Ich hatte das so verstanden, dass er sich aus dem Header die Definitonen und aus dem gleichnamigen cpp-File die Deklarationen schnappt.</p>
<p>Ihr habt mir mal wieder sehr geholfen. <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/1949839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1949839</guid><dc:creator><![CDATA[Toni...]]></dc:creator><pubDate>Wed, 08 Sep 2010 16:44:55 GMT</pubDate></item></channel></rss>