<?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[LNK2019, weiß nicht wo der fehler sein soll]]></title><description><![CDATA[<p>Hallo,<br />
ich bekomme beim Linker folgende Fehlermeldung</p>
<pre><code>string.obj : error LNK2019: unresolved external symbol &quot;public: char const &amp; __thiscall carray&lt;char&gt;::operator[](int)const &quot; (??A?$carray@D@@QBEABDH@Z)
referenced in function &quot;public: int __thiscall cstring::index_of_any(class carray&lt;char&gt; const &amp;,int,int)const &quot; (?index_of_any@cstring@@QBEHABV?$carray@D@@HH@Z)
</code></pre>
<p>folgender Code dazu</p>
<pre><code class="language-cpp">//array.h
template&lt;class t&gt;
class carray
{
  //...
  t &amp;operator [] (int index);
  t const &amp;operator [] (int index) const;
  //...
};

//string.h
class cstring :
  virtual public carray
{
  //...
  int index_of_any(carray&lt;char&gt; const &amp;src, int start_index, int length) const;
  //...
};

//string.cpp
int cstring::index_of_any(carray&lt;char&gt; const &amp;src, int start_index, int length) const
{
  int index;
  for(int i = 0; i &lt;= src.get_upper_bound(); i++)
  {
    index = index_of(src[i], start_index, length);//hier wird const-[] gebraucht
    if(in_range(index))
      return index;
  };
  return -1;
};
</code></pre>
<p>ich hab leider keinen Ansatz wo das Problem liegt, daher bin ich für jede Hilfe dankbar.<br />
Grüße</p>
<p>PS: bitte keine Lösungsvorschläge, dass ich irgendwas Vorgefertigtes von Standardbibliotheken nutzen soll, ich möchte einfach nur wissen wo das Problem / der Fehler ist und wie ich das richtig machen muss. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212147/lnk2019-weiß-nicht-wo-der-fehler-sein-soll</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 16:00:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212147.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 May 2008 12:52:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 12:52:48 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich bekomme beim Linker folgende Fehlermeldung</p>
<pre><code>string.obj : error LNK2019: unresolved external symbol &quot;public: char const &amp; __thiscall carray&lt;char&gt;::operator[](int)const &quot; (??A?$carray@D@@QBEABDH@Z)
referenced in function &quot;public: int __thiscall cstring::index_of_any(class carray&lt;char&gt; const &amp;,int,int)const &quot; (?index_of_any@cstring@@QBEHABV?$carray@D@@HH@Z)
</code></pre>
<p>folgender Code dazu</p>
<pre><code class="language-cpp">//array.h
template&lt;class t&gt;
class carray
{
  //...
  t &amp;operator [] (int index);
  t const &amp;operator [] (int index) const;
  //...
};

//string.h
class cstring :
  virtual public carray
{
  //...
  int index_of_any(carray&lt;char&gt; const &amp;src, int start_index, int length) const;
  //...
};

//string.cpp
int cstring::index_of_any(carray&lt;char&gt; const &amp;src, int start_index, int length) const
{
  int index;
  for(int i = 0; i &lt;= src.get_upper_bound(); i++)
  {
    index = index_of(src[i], start_index, length);//hier wird const-[] gebraucht
    if(in_range(index))
      return index;
  };
  return -1;
};
</code></pre>
<p>ich hab leider keinen Ansatz wo das Problem liegt, daher bin ich für jede Hilfe dankbar.<br />
Grüße</p>
<p>PS: bitte keine Lösungsvorschläge, dass ich irgendwas Vorgefertigtes von Standardbibliotheken nutzen soll, ich möchte einfach nur wissen wo das Problem / der Fehler ist und wie ich das richtig machen muss. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502048</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 12:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:04:11 GMT]]></title><description><![CDATA[<p>wo ist die implementierung von carray&lt;char&gt;::operator[]?</p>
<p>es gibt übrigens std::string. muss gesagt werden, auch wenn du es nicht hören willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502052</guid><dc:creator><![CDATA[ochsengedröhn]]></dc:creator><pubDate>Fri, 02 May 2008 13:04:11 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:06:41 GMT]]></title><description><![CDATA[<p>Da hättest du aber auch schon Compile Fehler bekommen müssen.</p>
<p>Allerdings weisen diese Fehler darauf hin, dass er irgendein Objekt nicht finden kann. -&gt; Wie sieht hier die physische Struktur der Dateien aus? Alles richtig includet? Header Guards usw.?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502054</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 02 May 2008 13:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:09:27 GMT]]></title><description><![CDATA[<p>oh hab ich vergessen mit hinzuschreiben, sorry</p>
<pre><code class="language-cpp">//array.cpp
template&lt;class t&gt;
t &amp;carray&lt;t&gt;::operator [] (int index)
{
  try
  {
    if(!in_range(index))
      throw array_exception(0);
    if(!_data[index])
      throw object_exception(0);
    return *(_data[index]);
  }
  catch (cexception e)
  {
    std::cout &lt;&lt; e;
    exit(1);
  };
};

template&lt;class t&gt;
t const &amp;carray&lt;t&gt;::operator [] (int index) const
{
  //s.o., ist genau das gleiche, der Unterschied liegt nur in dem const
};
</code></pre>
<p>die exceptions sind von mir selbst definierte exception-klassen, aber die lasse ich jetzt mal weg, da die nicht relevant sein dürften.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502056</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 13:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:11:54 GMT]]></title><description><![CDATA[<p>Die Definition der Operatoren ist im Header array.h?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502059</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 02 May 2008 13:11:54 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:12:55 GMT]]></title><description><![CDATA[<p>hah ja ich weiss das ist ziemlich strange, hatte auch so nen ähnlichen linker error in der art</p>
<p>ich hab dann einfach die definition in die .h file gehaut und auf ein mal hat er sie gefunden... ka was c++ da aufführt, hatte jedenfalls keine lust mich damit rumzuschlagen wieso er ein unresolved symbol hat wenn die funktionsdefinition in der cpp file drin ist -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502061</guid><dc:creator><![CDATA[Vevusio]]></dc:creator><pubDate>Fri, 02 May 2008 13:12:55 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:16:14 GMT]]></title><description><![CDATA[<p>was hätte ich denn für compiler-fehler bekommen müssen?<br />
include-guards sind vorhanden</p>
<p>physische struktur:</p>
<pre><code>&gt; Ordner
  &gt; Array
    &gt; array.h, array.cpp
  &gt; String
    &gt; string.h, string.cpp
</code></pre>
<pre><code class="language-cpp">//string.h
//...
#include &quot;../Array/array.h&quot;
//...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1502062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502062</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 13:16:14 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:15:41 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Die Definition der Operatoren ist im Header array.h?</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Die Definitionen der Funktionen müssen in den Header array.h!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502065</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 02 May 2008 13:15:41 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:15:23 GMT]]></title><description><![CDATA[<p>nur die deklaration der operatoren ist im header, die definition ist in der cpp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502066</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 13:15:23 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:17:05 GMT]]></title><description><![CDATA[<p>wieso muss die definition in den header rein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502069</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 13:17:05 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:18:09 GMT]]></title><description><![CDATA[<p>die definition muss aber auch in den Header, wegen den Templates.</p>
<p>Zur Vollständigkeit: Es gibt noch das export-Schlüsselwort, dass allerdings fast kein Compiler unterstützt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502070</guid><dc:creator><![CDATA[Steef]]></dc:creator><pubDate>Fri, 02 May 2008 13:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:19:06 GMT]]></title><description><![CDATA[<p>ok, hab die array.cpp am ende der array.h includet, jetzt funktioniert es</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502071</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 13:19:06 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:21:03 GMT]]></title><description><![CDATA[<p>Begründung:<br />
Templates erzeugen keine Symbole, ergo kann der Linker auch keine finden können. Erst Funktionen und Klassen erzeugen Symbole, und die entstehen erst, wenn das Template instanziert wird. <strong>Wenn</strong> das Template instanziert wird, muss der Compiler natürlich dessen komplette Definition kennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502073</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 02 May 2008 13:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:23:48 GMT]]></title><description><![CDATA[<p>jetzt hab ich in nem anderen projekt aber noch ein anderes problem:</p>
<pre><code>string.obj : error LNK2001: unresolved external symbol &quot;public: __thiscall cobject::~cobject(void)&quot; (??1cobject@@QAE@XZ)
</code></pre>
<p>cobject ist dabei eine basisklasse aller meiner selbstdefinierten klassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502076</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 13:23:48 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 13:29:47 GMT]]></title><description><![CDATA[<p>das eigenartige ist hier, wenn ich die definitionen von cobject aus der cpp file in die header file reinnehme und als inline definiere dann kommt der fehler nicht mehr. kann mir das jemand erklären?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502082</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 13:29:47 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 14:29:41 GMT]]></title><description><![CDATA[<p>meine erklärung dafür ist dass generics in c++ scheiße gelöst sind *g*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502126</guid><dc:creator><![CDATA[Vevusio]]></dc:creator><pubDate>Fri, 02 May 2008 14:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 15:20:29 GMT]]></title><description><![CDATA[<p>Vevusio schrieb:</p>
<blockquote>
<p>meine erklärung dafür ist dass generics in c++ scheiße gelöst sind *g*</p>
</blockquote>
<p>1. Templates != Generics<br />
2. Irrelevant, da cObject vermutlich kein template ist<br />
3. Alternativvorschläge?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502160</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 02 May 2008 15:20:29 GMT</pubDate></item><item><title><![CDATA[Reply to LNK2019, weiß nicht wo der fehler sein soll on Fri, 02 May 2008 18:02:42 GMT]]></title><description><![CDATA[<p>weder cobject noch cstring sind templates.<br />
cobject macht eigentlich nichts anderes als über einen static member zu zählen wieviel objekte es gibt, die von cobject abgeleitet sind.<br />
ich hab wie gesagt die definitionen von cobject als inline funktionen in die header mit reingenommen und es funktioniert, allerdings hab ich keinen blassen schimmer woran das liegt. würde mich sehr interessieren was der grund dafür ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1502243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1502243</guid><dc:creator><![CDATA[StarCraftFeuerteufel]]></dc:creator><pubDate>Fri, 02 May 2008 18:02:42 GMT</pubDate></item></channel></rss>