<?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[funktionsverweis in struktur ?]]></title><description><![CDATA[<p>geht das ?</p>
<p>also</p>
<pre><code class="language-cpp">struct funktionsliste
{
    BOOL m_Flag;
    int *funktion(CString*);
}fkl[] =
{
    FALSE, funktion1,
    FALSE, funktion2,
};
</code></pre>
<p>so oder so ungefaehr - die funktionen sind in der klasse bekannt</p>
<p>mein ziel ist es sowas zu vermeiden</p>
<pre><code class="language-cpp">if(m_flag1 == TRUE)
    function1;
if(m_flag2 == TRUE)
    funktion2;
//usw
</code></pre>
<p>da waehre es praktisch so machen zu koennen</p>
<pre><code class="language-cpp">for(int i=0; i&lt;functionsanzahl; i++)
{
    if(fkl[i].m_Flag == TRUE)
        if(!fkl.[i].funktion(&amp;string))
            break;
}
</code></pre>
<p>jemand ne idee ? geht das ueberhaupt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166560/funktionsverweis-in-struktur</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 23:56:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166560.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Nov 2006 14:12:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to funktionsverweis in struktur ? on Thu, 30 Nov 2006 14:12:31 GMT]]></title><description><![CDATA[<p>geht das ?</p>
<p>also</p>
<pre><code class="language-cpp">struct funktionsliste
{
    BOOL m_Flag;
    int *funktion(CString*);
}fkl[] =
{
    FALSE, funktion1,
    FALSE, funktion2,
};
</code></pre>
<p>so oder so ungefaehr - die funktionen sind in der klasse bekannt</p>
<p>mein ziel ist es sowas zu vermeiden</p>
<pre><code class="language-cpp">if(m_flag1 == TRUE)
    function1;
if(m_flag2 == TRUE)
    funktion2;
//usw
</code></pre>
<p>da waehre es praktisch so machen zu koennen</p>
<pre><code class="language-cpp">for(int i=0; i&lt;functionsanzahl; i++)
{
    if(fkl[i].m_Flag == TRUE)
        if(!fkl.[i].funktion(&amp;string))
            break;
}
</code></pre>
<p>jemand ne idee ? geht das ueberhaupt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184559</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 30 Nov 2006 14:12:31 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsverweis in struktur ? on Thu, 30 Nov 2006 14:22:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct funktionsliste
{
    BOOL m_Flag;
    int (*funktion)(CString*);
}fkl[] =
{
    FALSE, funktion1,
    FALSE, funktion2,
};
</code></pre>
<p>Klammern müssten anders gesetzt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184581</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 30 Nov 2006 14:22:59 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsverweis in struktur ? on Thu, 30 Nov 2006 14:35:05 GMT]]></title><description><![CDATA[<p>ich hab meine schwierigkeiten mit dem argument - CString *csString - csString ist dieser klasse immer nur waehrend der laufzeit bekannt {es wird beim aufruf der klasse erst uebergeben}</p>
<pre><code class="language-cpp">struct funktionsliste
{
    BOOL m_Flag;
    int (*funktion)(CString*);
}fkl[] =
{
    FALSE, (&amp;COwn::Funktion)(??),
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1184608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184608</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 30 Nov 2006 14:35:05 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsverweis in struktur ? on Thu, 30 Nov 2006 14:46:33 GMT]]></title><description><![CDATA[<p>ich hab da was - compiliert, obs funktioniert weiss ich noch nicht</p>
<pre><code class="language-cpp">class Klasse
{
    BOOL m_Flag1;
    BOOL m_Flag2;
    afx_msg int Funktion1(CString *csString);
    afx_msg int Funktion2(CString *csString);
    struct funktionsliste
    {
        BOOL m_Flag;
        int (CManipulate::*funktion)(CString*);
    };
};
</code></pre>
<pre><code class="language-cpp">// cpp datei - global
Klasse::funktionsliste fkl[] =
{
    FALSE, &amp;(Klasse::Funktion1),
    FALSE, &amp;(Klasse::Funktion2),
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1184626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184626</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 30 Nov 2006 14:46:33 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsverweis in struktur ? on Thu, 30 Nov 2006 15:06:47 GMT]]></title><description><![CDATA[<p>nu haperts am aufruf #grr</p>
<pre><code class="language-cpp">int Klasse::Run(CString *csString, int iNumber)
{
    for(int i=0; i&lt;iCountfunctions; i++)
        fkl[i].funktion(csString);
    return iRet;
}
</code></pre>
<p>funzt nicht - er erlaubt das argument nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184658</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 30 Nov 2006 15:06:47 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsverweis in struktur ? on Thu, 30 Nov 2006 15:16:15 GMT]]></title><description><![CDATA[<p>Das ist ja auch eine nicht statische Funktion der Klasse. Geht es nun um normale Funktionen oder Member-Funktionen einer Klasse? Bei dem einen ist ja noch ein this Zeiger nötig!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184672</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 30 Nov 2006 15:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsverweis in struktur ? on Fri, 01 Dec 2006 07:21:05 GMT]]></title><description><![CDATA[<p>die funktionen sind public bestandteile der klasse, der name funktion muesste eigentlich methode lauten - waehre nett wenn du mir das mit den this zeiger noch erklaeren koenntest {=</p>
<p>*.h</p>
<pre><code class="language-cpp">class CKlasse
{
    BOOL m_FlagMethode1;
    BOOL m_FlagMethode2;

    afx_msg int Methode1(CString *, UINT);
    afx_msg int Methode2(CString *, UINT);

    struct MethodenListe
    {
        BOOL m_Flag;
        int (CKlasse::*Methode)(CString *, UINT);
    }

    afx_msg int Run(CString *csString, UINT iNumber);
}
</code></pre>
<p>*.cpp</p>
<pre><code class="language-cpp">CKlasse::Methodenliste ml[] =
{
    FALSE,    &amp;(CKlasse::Methode1),
    FALSE,    &amp;(CKlasse::Methode2),
}

// Beeinflussung der flags von aussen durch
// ml[i].m_Flag = TRUE/FALSE;

int CKlasse::Run(CString *csString, UINT iNumber)
{
    for(int i=0; i&lt;2; i++)
        if(ml[i].mFlag == TRUE)
            if(!(ml[i].Methode)(csString, iNumber));    // argumente nicht zulaessig /=
                return -1;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1185037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1185037</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 01 Dec 2006 07:21:05 GMT</pubDate></item><item><title><![CDATA[Reply to funktionsverweis in struktur ? on Fri, 01 Dec 2006 08:37:50 GMT]]></title><description><![CDATA[<p>hab jetzt mit hilfe der MSDN das zusammen gefummelt</p>
<pre><code class="language-cpp">int CKlasse::Run(CString *csString, int iNumber)
{
    for(int i=0; i&lt;iCountfunctions; i++)
        if(fkl[i].m_Flag == TRUE(
            if(!((this-&gt;*fkl[i].funktion)(csString, iNumber)))
                return -1;
    return 0;
}
</code></pre>
<p>compiliert nu fehlerfrei - obs funktioniert werd ich spaeter erst erfahren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1185093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1185093</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 01 Dec 2006 08:37:50 GMT</pubDate></item></channel></rss>