<?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[frage zu funktionen in strukturen]]></title><description><![CDATA[<p>hallo,<br />
habe folgendes problem, hoffe jemand hat ne idee:</p>
<p>folgendes kleines beispiel:</p>
<p>mystruct.h</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

typedef struct
{
  int t_value;
  void t_sayHello;
} T_MyStruct;
</code></pre>
<p>mystruct.cpp</p>
<pre><code>T_MyStruct::t_sayHello()
{
 cout &lt;&lt; &quot;hello&quot; &lt;&lt; endl;
}
</code></pre>
<p>main.cpp</p>
<pre><code>#include &quot;myheader.h&quot;

int main( int argc, char *argv[])
{
 T_MyStruct ms;
 ms.t_sayHello();
 return 0;
}
</code></pre>
<p>unter visual studio 2005 kann man obiges ohne fehlermeldungen kompilieren,<br />
mit gcc compiler unter freeBSD gibt es ne linker-fehlermeldung. da muss man stattdessen den rumpf von t_sayHello mit in die strukturdeklaration packen oder aber den inhalt von mystruct.cpp in mystruct.h verlagern.</p>
<p>weiss jemand wieso das so ist!?!?</p>
<p>danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271105/frage-zu-funktionen-in-strukturen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 15:54:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271105.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Jul 2010 10:58:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 10:58:29 GMT]]></title><description><![CDATA[<p>hallo,<br />
habe folgendes problem, hoffe jemand hat ne idee:</p>
<p>folgendes kleines beispiel:</p>
<p>mystruct.h</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

typedef struct
{
  int t_value;
  void t_sayHello;
} T_MyStruct;
</code></pre>
<p>mystruct.cpp</p>
<pre><code>T_MyStruct::t_sayHello()
{
 cout &lt;&lt; &quot;hello&quot; &lt;&lt; endl;
}
</code></pre>
<p>main.cpp</p>
<pre><code>#include &quot;myheader.h&quot;

int main( int argc, char *argv[])
{
 T_MyStruct ms;
 ms.t_sayHello();
 return 0;
}
</code></pre>
<p>unter visual studio 2005 kann man obiges ohne fehlermeldungen kompilieren,<br />
mit gcc compiler unter freeBSD gibt es ne linker-fehlermeldung. da muss man stattdessen den rumpf von t_sayHello mit in die strukturdeklaration packen oder aber den inhalt von mystruct.cpp in mystruct.h verlagern.</p>
<p>weiss jemand wieso das so ist!?!?</p>
<p>danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930520</guid><dc:creator><![CDATA[pepe75]]></dc:creator><pubDate>Fri, 23 Jul 2010 10:58:29 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 11:02:06 GMT]]></title><description><![CDATA[<p>kleiner zusatz:</p>
<p>der inhalt von mystruct.h:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

typedef struct
{
  int t_value;
  void t_sayHello();
} T_MyStruct;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1930522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930522</guid><dc:creator><![CDATA[pepe75]]></dc:creator><pubDate>Fri, 23 Jul 2010 11:02:06 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 11:21:03 GMT]]></title><description><![CDATA[<p>Linkst du denn die mystruct-Objektdatei mit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930539</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Fri, 23 Jul 2010 11:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 11:25:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">typedef struct
{
  int t_value;
  void t_sayHello(); // () fehlte
} T_MyStruct;

void T_MyStruct::t_sayHello() // Rückgabedatentyp fehlte
{
    cout &lt;&lt; &quot;hello&quot; &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1930545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930545</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 23 Jul 2010 11:25:03 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 11:30:03 GMT]]></title><description><![CDATA[<p>@Dweb: thnx, fehlte in der tat.</p>
<p>die objekt datei tue ich mitlinken.</p>
<p>trotzdem meckert gcc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930548</guid><dc:creator><![CDATA[pepe75]]></dc:creator><pubDate>Fri, 23 Jul 2010 11:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 11:41:41 GMT]]></title><description><![CDATA[<p>uebrigens das kleine beispiel ist uebrigens ueberpruef-tauglich und die linker meldung ist eine</p>
<p>undefined reference linker meldung, sobald der rumpf in der cpp-datei steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930558</guid><dc:creator><![CDATA[pepe75]]></dc:creator><pubDate>Fri, 23 Jul 2010 11:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 12:18:25 GMT]]></title><description><![CDATA[<p>Wie rufst du den gcc denn auf?<br />
Klingt so als würdest du die eine .cpp Datei nicht mitkompilieren/linken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930596</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 23 Jul 2010 12:18:25 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 12:58:19 GMT]]></title><description><![CDATA[<p>pepe75 schrieb:</p>
<blockquote>
<pre><code>#include &lt;iostream&gt;
using namespace std;

typedef struct
{
  int t_value;
  void t_sayHello;
} T_MyStruct;
</code></pre>
</blockquote>
<p>Using-Direktiven haben in Header-Dateien nichts zu suchen. (!!!)</p>
<p>Da Du eh Dein struct mit einer Elementfunktion ausstatten willst, was ja in C gar nicht geht, kannst Du Dir auch das typedef sparen. Das ist in C++ überflüssig:</p>
<pre><code class="language-cpp">struct MyStruct
{
  int value;
  void sayHello();
};
</code></pre>
<p>kk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930657</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 23 Jul 2010 12:58:19 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 13:13:14 GMT]]></title><description><![CDATA[<p>pepe75 schrieb:</p>
<blockquote>
<pre><code>#include &lt;iostream&gt;
using namespace std;

typedef struct
{
  int t_value;
  void t_sayHello;
} T_MyStruct;
</code></pre>
</blockquote>
<p>Using-Direktiven haben in Header-Dateien nichts zu suchen. (!!!)</p>
<p>Da Du eh Dein struct mit einer Elementfunktion ausstatten willst, was ja in C gar nicht geht, kannst Du Dir auch das typedef sparen. Das ist in C++ überflüssig:</p>
<pre><code class="language-cpp">struct MyStruct
{
  int value;
  void sayHello();
};
</code></pre>
<p>kk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930680</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 23 Jul 2010 13:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 14:21:38 GMT]]></title><description><![CDATA[<p>dass using directiven ausserhalb von headern stehen muessen ist mir neu (grund?)</p>
<p>das mit dem typedef ruehrt daher, weil der original-code ein misch-masch aus altem C und neuem C++ ist und ich das kleine beispiel hier danach gerichtet habe.</p>
<p>trotzdem keine idee wegen des linker-fehlers?</p>
<p>gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930739</guid><dc:creator><![CDATA[pepe75]]></dc:creator><pubDate>Fri, 23 Jul 2010 14:21:38 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 14:41:56 GMT]]></title><description><![CDATA[<p>ok, das mit dem hinweis wegen der using directiven leuchtet jetzt ein -&gt; durch das includieren des headers ist die using directive ja dann auch fuer die includierenden stellen eingefuegt, was man vielleicht nicht moechte (namensraumkonflikte etc.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930748</guid><dc:creator><![CDATA[pepe75]]></dc:creator><pubDate>Fri, 23 Jul 2010 14:41:56 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu funktionen in strukturen on Fri, 23 Jul 2010 16:23:10 GMT]]></title><description><![CDATA[<p>pepe75 schrieb:</p>
<blockquote>
<p>trotzdem keine idee wegen des linker-fehlers?</p>
</blockquote>
<p>Ja: Du hast bestimmt irgendwas falsch gemacht. :p</p>
<p>Poste nochmal ne detaillierte Beschreibung von dem, was Du eigentlich machst -- inklusive Compiler/Linker-Aufruf und der Fehlermeldung.</p>
<p>kk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930803</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 23 Jul 2010 16:23:10 GMT</pubDate></item></channel></rss>