<?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[C --&amp;gt; C++ - Pointer casten?]]></title><description><![CDATA[<p>Hi</p>
<p>Hab Probleme ein Beispiel Code für C zu compilieren in C++ (gcc)<br />
Hoffe es kann mir jemand helfen, das gerade zu biegen</p>
<pre><code class="language-cpp">void func(char *name);

int main()
{	
//...
        my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
        for(i = 0; i &lt; n_choices; ++i)
	{       my_items[i] = new_item(choices[i], choices[i]);
		/* Set the user pointer */
		set_item_userptr(my_items[i], func);  //&lt;---------
	}
</code></pre>
<blockquote>
<p>error: invalid conversion from ‘void (<em>)(char</em>)’ to ‘void*’<br />
error: initializing argument 2 of ‘int set_item_userptr(ITEM*, void*)’</p>
</blockquote>
<p>Und hier nochmal:</p>
<pre><code class="language-cpp">case 10: /* Enter */
			{	ITEM *cur;
				void (*p)(char *);

				cur = current_item(my_menu);  // &lt;---------
				p = item_userptr(cur);
				p((char *)item_name(cur));
				pos_menu_cursor(my_menu);
				break;
			}
</code></pre>
<blockquote>
<p>error: invalid conversion from ‘void*’ to ‘void (<em>)(char</em>)’</p>
</blockquote>
<p>Ist aus dem ncurses HowTo</p>
<p>Wär für Hilfe wirklich dankbar<br />
Grüsse</p>
<p>ps::sry wenn dasnicht hierher gehört, bitte verschieben</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171144/c-gt-c-pointer-casten</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 10:34:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171144.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Jan 2007 20:49:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C --&amp;gt; C++ - Pointer casten? on Mon, 22 Jan 2007 20:49:10 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Hab Probleme ein Beispiel Code für C zu compilieren in C++ (gcc)<br />
Hoffe es kann mir jemand helfen, das gerade zu biegen</p>
<pre><code class="language-cpp">void func(char *name);

int main()
{	
//...
        my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
        for(i = 0; i &lt; n_choices; ++i)
	{       my_items[i] = new_item(choices[i], choices[i]);
		/* Set the user pointer */
		set_item_userptr(my_items[i], func);  //&lt;---------
	}
</code></pre>
<blockquote>
<p>error: invalid conversion from ‘void (<em>)(char</em>)’ to ‘void*’<br />
error: initializing argument 2 of ‘int set_item_userptr(ITEM*, void*)’</p>
</blockquote>
<p>Und hier nochmal:</p>
<pre><code class="language-cpp">case 10: /* Enter */
			{	ITEM *cur;
				void (*p)(char *);

				cur = current_item(my_menu);  // &lt;---------
				p = item_userptr(cur);
				p((char *)item_name(cur));
				pos_menu_cursor(my_menu);
				break;
			}
</code></pre>
<blockquote>
<p>error: invalid conversion from ‘void*’ to ‘void (<em>)(char</em>)’</p>
</blockquote>
<p>Ist aus dem ncurses HowTo</p>
<p>Wär für Hilfe wirklich dankbar<br />
Grüsse</p>
<p>ps::sry wenn dasnicht hierher gehört, bitte verschieben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1214802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1214802</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Mon, 22 Jan 2007 20:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to C --&amp;gt; C++ - Pointer casten? on Tue, 23 Jan 2007 10:50:43 GMT]]></title><description><![CDATA[<p>Warum compilierst du es denn dann als C++ Programm, anstatt einfach in C, wenn es sowieso ein C Programm ist.</p>
<p>In C++ können keine Funktionspointer implizit in void* gecastet werden, d.h. das mußt du dann explizit machen, also</p>
<pre><code class="language-cpp">set_item_userptr(my_items[i], (void *)func);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1215084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1215084</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Tue, 23 Jan 2007 10:50:43 GMT</pubDate></item><item><title><![CDATA[Reply to C --&amp;gt; C++ - Pointer casten? on Tue, 23 Jan 2007 13:05:07 GMT]]></title><description><![CDATA[<p>Danke, werds probieren.</p>
<p>Th schrieb:</p>
<blockquote>
<p>Warum compilierst du es denn dann als C++ Programm, anstatt einfach in C, wenn es sowieso ein C Programm ist.</p>
</blockquote>
<p>Weil ich die ncurses Funktionen in ne Klasse packen und in meinem C++ Programm nutzen möchte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1215191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1215191</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Tue, 23 Jan 2007 13:05:07 GMT</pubDate></item><item><title><![CDATA[Reply to C --&amp;gt; C++ - Pointer casten? on Thu, 25 Jan 2007 09:58:16 GMT]]></title><description><![CDATA[<p>Wenn func(char* name) aus einem C Code (oder einer C-Lib) aufgerufen werden soll, aber in einem C++-Modul liegt, sollte es als</p>
<pre><code class="language-cpp">extern &quot;C&quot; void (char *name);
</code></pre>
<p>deklariert werden, bzw. die Implementation(en) markiert durch:</p>
<pre><code class="language-cpp">extern &quot;C&quot;
{

    void func(char* name)
    {
        // ...
    }

    // möglicherweise weitere...

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1216698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216698</guid><dc:creator><![CDATA[KleinerNachtrag]]></dc:creator><pubDate>Thu, 25 Jan 2007 09:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to C --&amp;gt; C++ - Pointer casten? on Thu, 25 Jan 2007 09:59:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">extern &quot;C&quot; void (char *name);
</code></pre>
<p>sollte natürlich</p>
<pre><code class="language-cpp">extern &quot;C&quot; void func(char *name);
</code></pre>
<p>sein, sorry. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216701</guid><dc:creator><![CDATA[KleinerNachtrag2]]></dc:creator><pubDate>Thu, 25 Jan 2007 09:59:35 GMT</pubDate></item><item><title><![CDATA[Reply to C --&amp;gt; C++ - Pointer casten? on Thu, 25 Jan 2007 10:01:55 GMT]]></title><description><![CDATA[<p>Ahso?<br />
Danke.</p>
<p>Aber ich werd mich nun eh noch mal intensiv nach nem C++ Framework umsehen, ncurses ist mir irgendwie zu sehr C. Ich mag die formatierten string Funktionen nicht (printf() etc..) und das Zeigergehampel ist auch nicht so schön.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1216702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1216702</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 25 Jan 2007 10:01:55 GMT</pubDate></item></channel></rss>