<?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[Klassentemplatefunktionen nicht in .lib zu gebrauchen?]]></title><description><![CDATA[<p>Ich bin noch ziemlich unerfahren beim Programmieren mit Templates.<br />
Wenn ich früher gewöhnliche Klassen geschrieben habe, dann sah das meistens so aus, dass ich im Header die Klassendefinition mit den Deklarationen der Memberfunktionen untergebracht habe.<br />
Die Implementierungen der Memberfunktionen schrieb ich dann in separate .cpp Dateien und ließ sie mir von VC++ zu einer statischen Bibliothek zusammenbinden,<br />
mit der ich dann in anderen Projekten arbeiten konnte.</p>
<p>Mit Klassentemplates funktioniert das allerdings nicht? Müssen die Funktionsdefinitionen von Memberfunktionen eines Klassentemplates immer in unkompiliertem Zustand vorliegen, damit man sie in seine Projekte einbinden kann?<br />
Wenn ich nämlich nach dem Muster für gewöhnliche Klassen.libs vorgehe, dann meldet der Linker im Falle von in .lib Dateien ausgelagerten Funktionsdefinitionen von Klassentemplates 'unresolved external symbols' für die im Header deklarierten Memberfunktionen des Klassentemplates.</p>
<p>Das wäre auch schon die Frage:<br />
Müssen die implementierten Memberfunktionen eines Klassentemplates in Quellcodeform vorliegen, wenn man sie in seinen Projekten einsetzen möchte (im Unterschied zu gewöhnlichen Memberfunktionen einer gewöhnlichen Klasse, die auch in einer .lib zusammengebunden sein dürfen, um zu funktionieren)?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171835/klassentemplatefunktionen-nicht-in-lib-zu-gebrauchen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 12:37:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171835.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Jan 2007 20:17:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassentemplatefunktionen nicht in .lib zu gebrauchen? on Mon, 29 Jan 2007 20:17:40 GMT]]></title><description><![CDATA[<p>Ich bin noch ziemlich unerfahren beim Programmieren mit Templates.<br />
Wenn ich früher gewöhnliche Klassen geschrieben habe, dann sah das meistens so aus, dass ich im Header die Klassendefinition mit den Deklarationen der Memberfunktionen untergebracht habe.<br />
Die Implementierungen der Memberfunktionen schrieb ich dann in separate .cpp Dateien und ließ sie mir von VC++ zu einer statischen Bibliothek zusammenbinden,<br />
mit der ich dann in anderen Projekten arbeiten konnte.</p>
<p>Mit Klassentemplates funktioniert das allerdings nicht? Müssen die Funktionsdefinitionen von Memberfunktionen eines Klassentemplates immer in unkompiliertem Zustand vorliegen, damit man sie in seine Projekte einbinden kann?<br />
Wenn ich nämlich nach dem Muster für gewöhnliche Klassen.libs vorgehe, dann meldet der Linker im Falle von in .lib Dateien ausgelagerten Funktionsdefinitionen von Klassentemplates 'unresolved external symbols' für die im Header deklarierten Memberfunktionen des Klassentemplates.</p>
<p>Das wäre auch schon die Frage:<br />
Müssen die implementierten Memberfunktionen eines Klassentemplates in Quellcodeform vorliegen, wenn man sie in seinen Projekten einsetzen möchte (im Unterschied zu gewöhnlichen Memberfunktionen einer gewöhnlichen Klasse, die auch in einer .lib zusammengebunden sein dürfen, um zu funktionieren)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219410</guid><dc:creator><![CDATA[TemplateAnfaenger]]></dc:creator><pubDate>Mon, 29 Jan 2007 20:17:40 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplatefunktionen nicht in .lib zu gebrauchen? on Mon, 29 Jan 2007 20:20:43 GMT]]></title><description><![CDATA[<p>Die Antwort auf deine Frage lautet ja.<br />
Der Compiler braucht zur Templateinstanzierung, die komplette Definition.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1219414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1219414</guid><dc:creator><![CDATA[DDR-RAM]]></dc:creator><pubDate>Mon, 29 Jan 2007 20:20:43 GMT</pubDate></item></channel></rss>