<?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[blick bei templates nicht durch]]></title><description><![CDATA[<p>hallo,</p>
<p>folgender code:</p>
<p>StackArray.h</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

// Defines a Stack with a fixed size
// --&gt; Stack Implementation with array

template &lt;class T&gt;
class StackArray
{
        private:
                unsigned int top;
                unsigned int max;
                T *p;

        public:
                // Constructor allocates the array
                StackArray(unsigned int m) : top(0), max(m){ p = new T[m]; }

                bool isFull(void) { return top == max; }

                bool isEmpty(void) { return top == 0; }

                void Push(T e);

                T Pop(void);
};
</code></pre>
<p>StackArray.cpp</p>
<pre><code class="language-cpp">#include &quot;StackArray.h&quot;

template &lt;class T&gt;
void StackArray&lt;T&gt;::Push(T e)
{
        if ( !isFull() )
        {
                p[top] = e;
                top++;
        }
}

template &lt;class T&gt;
T StackArray&lt;T&gt;::Pop(void)
{
        T e;
        if ( !isEmpty() )
        {
                top--;
                e = p[top];
        }

        return e;
}
</code></pre>
<p>und main.cpp</p>
<pre><code class="language-cpp">#include &quot;StackArray.h&quot;

using namespace std;

int main(void)
{
        StackArray&lt;unsigned int&gt; s(10);
        unsigned int x;

        while((cin &gt;&gt; x) &amp;&amp; !s.isFull())
                s.Push(x);

        while (!s.isEmpty())
                cout &lt;&lt; s.Pop() &lt;&lt; endl;

return 0;
}
</code></pre>
<p>Als Fehlermeldung erhalte ich:</p>
<pre><code>/tmp/ccRnxU8Z.o: In function `main':main.cpp:(.text+0x3f): undefined reference to `StackArray&lt;unsigned int&gt;::Push(unsigned int)'
:main.cpp:(.text+0x9c): undefined reference to `StackArray&lt;unsigned int&gt;::Pop()'
collect2: ld gab 1 als Ende-Status zurück
</code></pre>
<p>Ich peils einfach nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172273/blick-bei-templates-nicht-durch</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 18:01:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172273.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Feb 2007 09:55:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to blick bei templates nicht durch on Sat, 03 Feb 2007 09:55:48 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>folgender code:</p>
<p>StackArray.h</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

// Defines a Stack with a fixed size
// --&gt; Stack Implementation with array

template &lt;class T&gt;
class StackArray
{
        private:
                unsigned int top;
                unsigned int max;
                T *p;

        public:
                // Constructor allocates the array
                StackArray(unsigned int m) : top(0), max(m){ p = new T[m]; }

                bool isFull(void) { return top == max; }

                bool isEmpty(void) { return top == 0; }

                void Push(T e);

                T Pop(void);
};
</code></pre>
<p>StackArray.cpp</p>
<pre><code class="language-cpp">#include &quot;StackArray.h&quot;

template &lt;class T&gt;
void StackArray&lt;T&gt;::Push(T e)
{
        if ( !isFull() )
        {
                p[top] = e;
                top++;
        }
}

template &lt;class T&gt;
T StackArray&lt;T&gt;::Pop(void)
{
        T e;
        if ( !isEmpty() )
        {
                top--;
                e = p[top];
        }

        return e;
}
</code></pre>
<p>und main.cpp</p>
<pre><code class="language-cpp">#include &quot;StackArray.h&quot;

using namespace std;

int main(void)
{
        StackArray&lt;unsigned int&gt; s(10);
        unsigned int x;

        while((cin &gt;&gt; x) &amp;&amp; !s.isFull())
                s.Push(x);

        while (!s.isEmpty())
                cout &lt;&lt; s.Pop() &lt;&lt; endl;

return 0;
}
</code></pre>
<p>Als Fehlermeldung erhalte ich:</p>
<pre><code>/tmp/ccRnxU8Z.o: In function `main':main.cpp:(.text+0x3f): undefined reference to `StackArray&lt;unsigned int&gt;::Push(unsigned int)'
:main.cpp:(.text+0x9c): undefined reference to `StackArray&lt;unsigned int&gt;::Pop()'
collect2: ld gab 1 als Ende-Status zurück
</code></pre>
<p>Ich peils einfach nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222096</guid><dc:creator><![CDATA[curry-king]]></dc:creator><pubDate>Sat, 03 Feb 2007 09:55:48 GMT</pubDate></item><item><title><![CDATA[Reply to blick bei templates nicht durch on Sat, 03 Feb 2007 09:57:20 GMT]]></title><description><![CDATA[<p>Die Implementierung von Templates muss mit in den Header.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222097</guid><dc:creator><![CDATA[geloescht]]></dc:creator><pubDate>Sat, 03 Feb 2007 09:57:20 GMT</pubDate></item><item><title><![CDATA[Reply to blick bei templates nicht durch on Sat, 03 Feb 2007 10:02:32 GMT]]></title><description><![CDATA[<p>Mein Gott <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222101</guid><dc:creator><![CDATA[curry-king]]></dc:creator><pubDate>Sat, 03 Feb 2007 10:02:32 GMT</pubDate></item><item><title><![CDATA[Reply to blick bei templates nicht durch on Sat, 03 Feb 2007 10:51:55 GMT]]></title><description><![CDATA[<p>curry-king schrieb:</p>
<blockquote>
<p>Mein Gott <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Gabs schon mindestens 1000 Mal. Steht sogar in der FAQ, wenn mich nicht alles täuscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222127</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sat, 03 Feb 2007 10:51:55 GMT</pubDate></item><item><title><![CDATA[Reply to blick bei templates nicht durch on Sat, 03 Feb 2007 11:27:59 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>curry-king schrieb:</p>
<blockquote>
<p>Mein Gott <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Gabs schon mindestens 1000 Mal. Steht sogar in der FAQ, wenn mich nicht alles täuscht.</p>
</blockquote>
<p>sry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222143</guid><dc:creator><![CDATA[curry-king]]></dc:creator><pubDate>Sat, 03 Feb 2007 11:27:59 GMT</pubDate></item></channel></rss>