<?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[Mehrere Werte der Funktiuon _beginthreadex mit auf dem Weg geben]]></title><description><![CDATA[<p>Guten Abend,</p>
<p>ich möchte einen Thread starten dessen aufzurufende Funktion zwei Integerwerte bei der Übergabe erwartet in etwa so:</p>
<pre><code class="language-cpp">void funktion_1(int zahl1, int zahl2){
:
	_endthreadex(1);	
}

void funktion2(void){
	_beginthreadex(NULL, 0, (void *)funktion_1, (void *)(zahl1, zahl2), 0, &amp;thread_id);
}
</code></pre>
<p>jedoch scheine ich das falsch zu machen, zahl2 ist in der Funktion immer 0. Wie muss ich das korrekt aufrufen? Danke.</p>
<p>Manni</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/206598/mehrere-werte-der-funktiuon-_beginthreadex-mit-auf-dem-weg-geben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 09:59:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206598.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 Feb 2008 17:20:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrere Werte der Funktiuon _beginthreadex mit auf dem Weg geben on Tue, 26 Feb 2008 17:20:09 GMT]]></title><description><![CDATA[<p>Guten Abend,</p>
<p>ich möchte einen Thread starten dessen aufzurufende Funktion zwei Integerwerte bei der Übergabe erwartet in etwa so:</p>
<pre><code class="language-cpp">void funktion_1(int zahl1, int zahl2){
:
	_endthreadex(1);	
}

void funktion2(void){
	_beginthreadex(NULL, 0, (void *)funktion_1, (void *)(zahl1, zahl2), 0, &amp;thread_id);
}
</code></pre>
<p>jedoch scheine ich das falsch zu machen, zahl2 ist in der Funktion immer 0. Wie muss ich das korrekt aufrufen? Danke.</p>
<p>Manni</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463455</guid><dc:creator><![CDATA[*Manni*]]></dc:creator><pubDate>Tue, 26 Feb 2008 17:20:09 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Werte der Funktiuon _beginthreadex mit auf dem Weg geben on Tue, 26 Feb 2008 18:05:26 GMT]]></title><description><![CDATA[<p>Erstell eine Struktur und allokiere diese via new. Gebe die Daten dann im Thread beim ende mit delete wieder frei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463479</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 26 Feb 2008 18:05:26 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Werte der Funktiuon _beginthreadex mit auf dem Weg geben on Wed, 27 Feb 2008 06:04:39 GMT]]></title><description><![CDATA[<p>Also wie ich eine Struktur in einer Headerdatei erstelle weiss ich, jedoch nicht so wie du er mir rätst. Kannst du mir vieleicht einen Bsp Code posten, danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463730</guid><dc:creator><![CDATA[*Manni*]]></dc:creator><pubDate>Wed, 27 Feb 2008 06:04:39 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Werte der Funktiuon _beginthreadex mit auf dem Weg geben on Wed, 27 Feb 2008 09:15:10 GMT]]></title><description><![CDATA[<p>Du brauchst Dafür keinen Header!</p>
<p>Auf korrekten Syntax habe ich nicht geprüft...</p>
<pre><code class="language-cpp">struct SMYData
{
itn val1, val2;
};

...
unsigned funktion1(void *p)
{
  SMYData *pData = static_cast&lt;SMYData *&gt;(p);
...
}

void funktion2(void)
{
  SMYData data;
  data.val1 = 1;
  data.val2 = 2;
  _beginthreadex(NULL, 0, funktion1, &amp;data, 0, &amp;thread_id);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1463785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463785</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 27 Feb 2008 09:15:10 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Werte der Funktiuon _beginthreadex mit auf dem Weg geben on Wed, 27 Feb 2008 09:31:25 GMT]]></title><description><![CDATA[<p>Ehm, wärs nicht besser die SMYData variable so anzulegen, dass sie den Aufruf von funktion2 überlebt?<br />
z.B. mit new od. als Member der umschliessenden Klasse...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463795</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Wed, 27 Feb 2008 09:31:25 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Werte der Funktiuon _beginthreadex mit auf dem Weg geben on Wed, 27 Feb 2008 09:41:13 GMT]]></title><description><![CDATA[<p>simon.gysi schrieb:</p>
<blockquote>
<p>Ehm, wärs nicht besser die SMYData variable so anzulegen, dass sie den Aufruf von funktion2 überlebt?<br />
z.B. mit new od. als Member der umschliessenden Klasse...</p>
</blockquote>
<p>Extrem guter Hinweis! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Sorry für meinen etwas hirnlosen Tipp...</p>
<p>Korrktur:</p>
<pre><code class="language-cpp">struct SMYData
{
  SMYData(int i1, i2) : val1(i1), val2(i2) {}
  int val1, val2;
};

...
unsigned funktion1(void *p)
{
  SMYData *pData = static_cast&lt;SMYData *&gt;(p);
...
  delete pData;
...
}

void funktion2(void)
{
  _beginthreadex(NULL, 0, funktion1, new SMYData(1,2), 0, &amp;thread_id);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1463802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463802</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 27 Feb 2008 09:41:13 GMT</pubDate></item></channel></rss>