<?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[Parameter an Signalhandler übergeben - Wie?]]></title><description><![CDATA[<p>Hallo,</p>
<p>bisher habe ich folgenden Code:</p>
<pre><code class="language-cpp">void my_sig_handler(int signum)
{
 std::cout &lt;&lt; &quot;Zustände werden gelöscht&quot; &lt;&lt; std::endl;
}

int main ()
{
   .....
   .....
   signal(SIGALRM, my_sig_handler); 
   ......
   ......
   alarm(5) 
}
</code></pre>
<p>Nun müsste ich an my_sig_handler noch einen Int-Wert und einen Zeiger auf ein Objekt übergeben. Nur weiß ich nicht wie ich das anstellen soll. Denn wenn ich Parameter beim Signalaufruf angeben, kompiliert er nicht :-(.</p>
<p>Hat jemand ne Idee wie ich das anstellen könnte?</p>
<p>Danke<br />
Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/213082/parameter-an-signalhandler-übergeben-wie</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 13:19:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/213082.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 May 2008 05:11:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Parameter an Signalhandler übergeben - Wie? on Wed, 14 May 2008 05:11:20 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>bisher habe ich folgenden Code:</p>
<pre><code class="language-cpp">void my_sig_handler(int signum)
{
 std::cout &lt;&lt; &quot;Zustände werden gelöscht&quot; &lt;&lt; std::endl;
}

int main ()
{
   .....
   .....
   signal(SIGALRM, my_sig_handler); 
   ......
   ......
   alarm(5) 
}
</code></pre>
<p>Nun müsste ich an my_sig_handler noch einen Int-Wert und einen Zeiger auf ein Objekt übergeben. Nur weiß ich nicht wie ich das anstellen soll. Denn wenn ich Parameter beim Signalaufruf angeben, kompiliert er nicht :-(.</p>
<p>Hat jemand ne Idee wie ich das anstellen könnte?</p>
<p>Danke<br />
Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508521</guid><dc:creator><![CDATA[Emmerell]]></dc:creator><pubDate>Wed, 14 May 2008 05:11:20 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter an Signalhandler übergeben - Wie? on Wed, 14 May 2008 06:28:57 GMT]]></title><description><![CDATA[<p>Emmerell schrieb:</p>
<blockquote>
<p>Denn wenn ich Parameter beim Signalaufruf angeben, kompiliert er nicht :-(.</p>
</blockquote>
<p>Fehlermeldung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508537</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 14 May 2008 06:28:57 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter an Signalhandler übergeben - Wie? on Wed, 14 May 2008 06:48:10 GMT]]></title><description><![CDATA[<p>Wenn ich so aufrufe:</p>
<pre><code class="language-cpp">signal(SIGALRM, my_sig_handler(ID));
</code></pre>
<p>kommt &quot;falsche Benutzung eines void Ausdruckes&quot;.</p>
<p>Ich weiß jetzt aber auch nicht genau wie ich an diese Funktion Parameter übergeben kann, da es ja offensichtlich ein Zeiger auf ne Funktion ist.</p>
<p>Ich denke, am einfachsten wird es wohl sein ne Klasse drumzubauen und jeweils neue Timer Objekte zu instantiieren.</p>
<p>Gruß<br />
Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508551</guid><dc:creator><![CDATA[Emmerell]]></dc:creator><pubDate>Wed, 14 May 2008 06:48:10 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter an Signalhandler übergeben - Wie? on Wed, 14 May 2008 06:52:05 GMT]]></title><description><![CDATA[<p>Ich glaube, die Parameterliste eines signalhandlers ist fest vorgeschrieben. Der erwartet ein int, nix anderes (das ist zumindest mein Eindruck nach 5 Minuten Internet-Recherche).</p>
<p>Vielleicht könnte es klappen, globale Variablen zu verwenden (als volatile deklarieren!).</p>
<p>Vielleicht interessant für dich:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-72414-and-highlight-is-signalhandler.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-72414-and-highlight-is-signalhandler.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508554</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 14 May 2008 06:52:05 GMT</pubDate></item><item><title><![CDATA[Reply to Parameter an Signalhandler übergeben - Wie? on Wed, 14 May 2008 07:24:44 GMT]]></title><description><![CDATA[<p>Emmerell schrieb:</p>
<blockquote>
<p>Wenn ich so aufrufe:</p>
<pre><code class="language-cpp">signal(SIGALRM, my_sig_handler(ID));
</code></pre>
<p>kommt &quot;falsche Benutzung eines void Ausdruckes&quot;....</p>
</blockquote>
<p>Das ist ja auch klar, weil &quot;my_sig_handler(ID)&quot; bereits ein Funktionsaufruf ist und Du einen Funktionszeiger brauchst.<br />
Sprich: Du hast einen neuen Fehler eingebaut, wo Du den alten lösen wolltest. Um dem auf die Schliche zu kommen nochmal:</p>
<p>_matze schrieb:</p>
<blockquote>
<p>Emmerell schrieb:</p>
<blockquote>
<p>Emmerell schrieb:<br />
Denn wenn ich Parameter beim Signalaufruf angeben, kompiliert er nicht :-(.</p>
</blockquote>
<p>Fehlermeldung?</p>
</blockquote>
<p>Bist beileibe nicht der Einzige, aber ich bin immer wieder überrascht, wieviele Leute nur unterscheiden zwischen &quot;tut&quot; und &quot;Oh Fehler&quot; ... das wird die Compilerhersteller betrüben, die sich viel Mühe machen, die Ursachen/Auslöser für die Fehler in Meldungen zu schreiben....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508581</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 14 May 2008 07:24:44 GMT</pubDate></item></channel></rss>