<?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[Externe Member Variable in Thread inkrementieren]]></title><description><![CDATA[<p>Hallo, ich habe einen Thread in dem eine Member Variable von außerhalb inkrementiert werden soll, nur funktioniert es so nicht.</p>
<p>Aufruf:</p>
<pre><code>void CDlg_Clients::FillFrameListBox()
{
	m_WorkerThread = AfxBeginThread(FillTheListboxWTItemData,this,THREAD_PRIORITY_NORMAL);

	return ;
}
</code></pre>
<p>Thread:</p>
<pre><code>UINT FillTheListboxWTItemData(LPVOID pParam)
{ 
	CDlg_Clients pKlasse = pParam;
	pKlasse-&gt;m_sPos++;

	return THREAD_END_DELETED;
}
</code></pre>
<p>Beim kompilieren erfolgt die Fehlermeldung:<br />
error C2440: 'initializing' : cannot convert from 'void *' to 'class CDlg_Clients'</p>
<p>Der Hund liegt sicher im Detail, aber wie ist es richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203491/externe-member-variable-in-thread-inkrementieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 17:46:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203491.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Jan 2008 11:45:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Externe Member Variable in Thread inkrementieren on Wed, 23 Jan 2008 11:45:04 GMT]]></title><description><![CDATA[<p>Hallo, ich habe einen Thread in dem eine Member Variable von außerhalb inkrementiert werden soll, nur funktioniert es so nicht.</p>
<p>Aufruf:</p>
<pre><code>void CDlg_Clients::FillFrameListBox()
{
	m_WorkerThread = AfxBeginThread(FillTheListboxWTItemData,this,THREAD_PRIORITY_NORMAL);

	return ;
}
</code></pre>
<p>Thread:</p>
<pre><code>UINT FillTheListboxWTItemData(LPVOID pParam)
{ 
	CDlg_Clients pKlasse = pParam;
	pKlasse-&gt;m_sPos++;

	return THREAD_END_DELETED;
}
</code></pre>
<p>Beim kompilieren erfolgt die Fehlermeldung:<br />
error C2440: 'initializing' : cannot convert from 'void *' to 'class CDlg_Clients'</p>
<p>Der Hund liegt sicher im Detail, aber wie ist es richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441910</guid><dc:creator><![CDATA[CR-M]]></dc:creator><pubDate>Wed, 23 Jan 2008 11:45:04 GMT</pubDate></item><item><title><![CDATA[Reply to Externe Member Variable in Thread inkrementieren on Wed, 23 Jan 2008 11:50:02 GMT]]></title><description><![CDATA[<p>Ja, C++ unterstützt keine implizite Umwandlung von void* in einen konkreten Zeigertyp (schon gar nicht in einen Nicht-Zeiger), da mußt du schon explizit casten:</p>
<pre><code class="language-cpp">CDlg_Clients* pKlasse = (CDlg_Clients*) pParam;
//oder für die Anhänder der C++ casts:
CDlg_Clients* pKlasse = static_cast&lt;CDlgClients*&gt;(pParam);
</code></pre>
<p>(btw, der Stern dort ist kein Fliegendreck, sondern hat eine essentielle Bedeutung ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441914</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 23 Jan 2008 11:50:02 GMT</pubDate></item><item><title><![CDATA[Reply to Externe Member Variable in Thread inkrementieren on Wed, 23 Jan 2008 12:26:48 GMT]]></title><description><![CDATA[<p>Gewußt wie, besten dank es funktioniert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441933</guid><dc:creator><![CDATA[CR-M]]></dc:creator><pubDate>Wed, 23 Jan 2008 12:26:48 GMT</pubDate></item></channel></rss>