<?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[struct so richtig?]]></title><description><![CDATA[<p>Hi,<br />
Ich übergebe durch ein Struct daten an einen thread, nun habe ich den Struct noch einen dunktionszeiger eingearbeitet, nur weiß ich nicht ob das so korrekt ist, hier mal der Code:</p>
<pre><code class="language-cpp">struct data{
   int id;
   int buffer;
   bool type;
   void* callback;
   char* messange;
    data(const char* string = NULL,int id2,int buffer2,bool type2,void* call)
    {
    messange = new char[std::strlen(string)+1];
    std::strcpy(messange,string);
    id = id2;
    buffer = buffer2;
    type = type2;
    callback = &amp;call;
    }
    ~data()
    {
    delete [] messange;
    }
};
</code></pre>
<p>Fehler Meldung kommt keine aber ich kann das hier auch nicht wirklich austesten ob die Logik und so stimmt</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/208462/struct-so-richtig</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 20:37:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/208462.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Mar 2008 18:29:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to struct so richtig? on Tue, 18 Mar 2008 18:29:24 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich übergebe durch ein Struct daten an einen thread, nun habe ich den Struct noch einen dunktionszeiger eingearbeitet, nur weiß ich nicht ob das so korrekt ist, hier mal der Code:</p>
<pre><code class="language-cpp">struct data{
   int id;
   int buffer;
   bool type;
   void* callback;
   char* messange;
    data(const char* string = NULL,int id2,int buffer2,bool type2,void* call)
    {
    messange = new char[std::strlen(string)+1];
    std::strcpy(messange,string);
    id = id2;
    buffer = buffer2;
    type = type2;
    callback = &amp;call;
    }
    ~data()
    {
    delete [] messange;
    }
};
</code></pre>
<p>Fehler Meldung kommt keine aber ich kann das hier auch nicht wirklich austesten ob die Logik und so stimmt</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476790</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Tue, 18 Mar 2008 18:29:24 GMT</pubDate></item><item><title><![CDATA[Reply to struct so richtig? on Tue, 18 Mar 2008 20:46:06 GMT]]></title><description><![CDATA[<p>Wenn du Funktionszeiger meinst, musst du auch Funktionszeiger schreiben. Es ist nicht garantiert, dass der Typ void* Funktionszeiger speichern kann.</p>
<p>Wenn deine callback-Funktion also z.B. die Signatur bool f(int) hat, dann musst du callback so deklarieren:</p>
<pre><code class="language-cpp">bool (*callback)(int);
</code></pre>
<p>Ausserdem laesst sich dein Code so nicht kompilieren, aus mehreren Gruenden. Die wird dir aber der Compiler schon bereitwillig aufzaehlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476893</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Tue, 18 Mar 2008 20:46:06 GMT</pubDate></item><item><title><![CDATA[Reply to struct so richtig? on Tue, 18 Mar 2008 23:56:46 GMT]]></title><description><![CDATA[<p>Hi,<br />
Danke für deine Antwort.<br />
Ich möchte den struct gerne für alle Funktionen nutzen d.h. ich habe callback funktionen die like callback(int,char,int); callback(char,int,char); etc.<br />
Da kann ich ja nicht jedesmal extra im struct ein ding anlegen da werde ich ja nichtmehr fertig.<br />
Ich möchte es wenn es fertig ist so verwenden:</p>
<pre><code class="language-cpp">void callback(int id,char* array)
{
// ....
}
data(callback());
// struct füllen
//Im thread dann mittels callback(parameter); verwenden
</code></pre>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476978</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Tue, 18 Mar 2008 23:56:46 GMT</pubDate></item><item><title><![CDATA[Reply to struct so richtig? on Wed, 19 Mar 2008 00:36:01 GMT]]></title><description><![CDATA[<p>ReduX schrieb:</p>
<blockquote>
<p>Hi,<br />
Danke für deine Antwort.<br />
Ich möchte den struct gerne für alle Funktionen nutzen d.h. ich habe callback funktionen die like callback(int,char,int); callback(char,int,char); etc.<br />
Da kann ich ja nicht jedesmal extra im struct ein ding anlegen da werde ich ja nichtmehr fertig.</p>
</blockquote>
<p>Mir ist nicht genau klar, was du erreichen moechtest.<br />
Vielleicht sind templates was fuer dich.</p>
<p>Funktionszeiger haben halt einen festen Typ, der die Parameter und den Rueckgabewert kodiert. Und laut C++-Standard ist void* nicht unbedingt in der Lage einen Funktionszeiger zu speichern. Wenn du C++ programmierst, wuerde ich void* sowieso erstmal vergessen.<br />
Einen Zeiger auf die Funktion callback bekommst du uebrigens mit &amp;callback und nicht durch callback(). Mit letzterem rufst du die Funktion sofort auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1476980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1476980</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Wed, 19 Mar 2008 00:36:01 GMT</pubDate></item><item><title><![CDATA[Reply to struct so richtig? on Wed, 19 Mar 2008 14:58:17 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ja sry hab es letztes mal ein bisschen dum geschrieben, also hier nochmal:<br />
Ich habe mehrere Funktionen mit z.B. der signatur callback(char,int,char); und<br />
callback(int,char,int);<br />
Da ich ein haufen verschiedene Signaturen habe will ich das im Struct irgendwie dynamisch regeln, sprich das ich in einem Zeiger alle möglichen Signaturen verwenden kann.</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477337</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Wed, 19 Mar 2008 14:58:17 GMT</pubDate></item><item><title><![CDATA[Reply to struct so richtig? on Wed, 19 Mar 2008 15:50:41 GMT]]></title><description><![CDATA[<p>ReduX schrieb:</p>
<blockquote>
<p>Da ich ein haufen verschiedene Signaturen habe will ich das im Struct irgendwie dynamisch regeln, sprich das ich in einem Zeiger alle möglichen Signaturen verwenden kann.</p>
</blockquote>
<p>Spaetestens beim Aufrufen der Funktion musst du die korrekte Signatur wieder kennen, also muss dein Programm sich das so oder so merken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477377</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Wed, 19 Mar 2008 15:50:41 GMT</pubDate></item><item><title><![CDATA[Reply to struct so richtig? on Wed, 19 Mar 2008 18:59:10 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-1819.html" rel="nofollow">rüdiger</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-8.html" rel="nofollow">Rund um die Programmierung</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477471</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 19 Mar 2008 18:59:10 GMT</pubDate></item><item><title><![CDATA[Reply to struct so richtig? on Thu, 20 Mar 2008 16:35:39 GMT]]></title><description><![CDATA[<p>Hi,<br />
Werde es jetzt wohl so machen das ich für jede Funktion einen eigenen struct erstelle, da es jetzt doch nur 5 verschiedene Funktionen sind.</p>
<p>Habe da noch eine Frage und zwar hab ich jetzt den code ca. so:</p>
<pre><code class="language-cpp">struct data {
// blablabla
};
class test_thread {
// blablabla
};
class test {
// blablabla
};
</code></pre>
<p>Wie bekomme ich es jetzt hin das nur die beiden klassen auf das struct zugreifen kann? Sollte ich es mit verebung machen?<br />
Stehe gerade voll aufm Schlauch, liegt wohl darran das ich nochnicht geschlafen habe^^</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1477917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1477917</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Thu, 20 Mar 2008 16:35:39 GMT</pubDate></item></channel></rss>