<?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[&amp;quot;Undefined reference to&amp;quot; Problem]]></title><description><![CDATA[<p>Hallo, ich habe die folgende Methode in meiner &quot;EventManager&quot; Klasse:</p>
<pre><code>template &lt;class EVENT_TYPE&gt;
void processEvents(EventListener&lt;EVENT_TYPE&gt;* listener, const TypeInfo* eventType);
</code></pre>
<p>im header</p>
<p>und</p>
<pre><code>template &lt;class EVENT_TYPE&gt;
void EventManager::processEvents(EventListener&lt;EVENT_TYPE&gt;* listener, const TypeInfo* eventType) {
	for(EventContainer::iterator it = events.begin(); it != events.end(); it++) {
		EventBase* event = *it;

		if(event-&gt;getTypeInfo() == eventType) {
			listener-&gt;onEvent((EVENT_TYPE*)event);
		}
	}
}
</code></pre>
<p>Und der GCC compiler sagt mir &quot;undefined reference to processEvents(..)&quot; an der Stelle, wo ich die Methode aufrufe. Wenn ich die ganze Methode im Header definiere, gehts komischerweise einwandfrei.. ?</p>
<pre><code>template &lt;class EVENT_TYPE&gt;
void processEvents(EventListener&lt;EVENT_TYPE&gt;* listener, const TypeInfo* eventType) {
	for(EventContainer::iterator it = events.begin(); it != events.end(); it++) {
		EventBase* event = *it;

		if(event-&gt;getTypeInfo() == eventType) {
			listener-&gt;onEvent((EVENT_TYPE*)event);
		}
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/259384/quot-undefined-reference-to-quot-problem</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 21:22:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259384.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Jan 2010 10:26:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;Undefined reference to&amp;quot; Problem on Fri, 22 Jan 2010 10:26:51 GMT]]></title><description><![CDATA[<p>Hallo, ich habe die folgende Methode in meiner &quot;EventManager&quot; Klasse:</p>
<pre><code>template &lt;class EVENT_TYPE&gt;
void processEvents(EventListener&lt;EVENT_TYPE&gt;* listener, const TypeInfo* eventType);
</code></pre>
<p>im header</p>
<p>und</p>
<pre><code>template &lt;class EVENT_TYPE&gt;
void EventManager::processEvents(EventListener&lt;EVENT_TYPE&gt;* listener, const TypeInfo* eventType) {
	for(EventContainer::iterator it = events.begin(); it != events.end(); it++) {
		EventBase* event = *it;

		if(event-&gt;getTypeInfo() == eventType) {
			listener-&gt;onEvent((EVENT_TYPE*)event);
		}
	}
}
</code></pre>
<p>Und der GCC compiler sagt mir &quot;undefined reference to processEvents(..)&quot; an der Stelle, wo ich die Methode aufrufe. Wenn ich die ganze Methode im Header definiere, gehts komischerweise einwandfrei.. ?</p>
<pre><code>template &lt;class EVENT_TYPE&gt;
void processEvents(EventListener&lt;EVENT_TYPE&gt;* listener, const TypeInfo* eventType) {
	for(EventContainer::iterator it = events.begin(); it != events.end(); it++) {
		EventBase* event = *it;

		if(event-&gt;getTypeInfo() == eventType) {
			listener-&gt;onEvent((EVENT_TYPE*)event);
		}
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1843143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843143</guid><dc:creator><![CDATA[Sergesinner]]></dc:creator><pubDate>Fri, 22 Jan 2010 10:26:51 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Undefined reference to&amp;quot; Problem on Fri, 22 Jan 2010 10:31:09 GMT]]></title><description><![CDATA[<p>Sergesinner schrieb:</p>
<blockquote>
<p>Wenn ich die ganze Methode im Header definiere, gehts komischerweise einwandfrei.. ?</p>
</blockquote>
<p>Du kannst bei Templates die Deklaration und Definition nicht in Header und Übersetzungseinheit aufteilen. Es muss alles im Header stehen. Es gibt auch böse Tricks, wo man dann die <code>*.cpp</code> im Header inkludiert. Oft nennt man diese Files dann aber nicht <code>*.cpp</code> .</p>
<p>Gibt sehr viele Threads dazu im Forum oder Inet, einfach mal ein wenig suchen <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>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843145</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 22 Jan 2010 10:31:09 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Undefined reference to&amp;quot; Problem on Fri, 22 Jan 2010 10:32:02 GMT]]></title><description><![CDATA[<p>Siehe hier: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39467.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39467.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843146</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Fri, 22 Jan 2010 10:32:02 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Undefined reference to&amp;quot; Problem on Fri, 22 Jan 2010 14:09:12 GMT]]></title><description><![CDATA[<p>Öhm... sieht so aus, als könnten deine Iteratoren ruhig const sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843294</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Fri, 22 Jan 2010 14:09:12 GMT</pubDate></item></channel></rss>