<?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[Verständnis-Problem von Policies]]></title><description><![CDATA[<p>Ich versteh Policies noch nicht so richtig und probiere gerade etwas damit. Allerdings bin ich mir noch nichtmal sicher ob das wirklich Policies sind was ich da mache. Das hab ich versucht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;policy.hpp&quot;

int main() {
    Ausgabe&lt;Toll&gt; a;
    a.Zahl();
    std::cout &lt;&lt; std::endl;
    Ausgabe&lt;Einfach&gt; b;
    b.Zahl();
    std::cout &lt;&lt; std::endl;
    system(&quot;PAUSE&quot;);
}
</code></pre>
<pre><code class="language-cpp">class Toll {
    public:
        void Zahl() {
            std::cout &lt;&lt; &quot;Tolle Zahl: 5&quot;;
        }
};

class Einfach {
    public:
        void Zahl() {
            std::cout &lt;&lt; &quot;5&quot;;
        }
};

template&lt;class Policy&gt;
class Ausgabe {
    public:
        void Zahl() {
            Policy.Zahl();
        }
};
</code></pre>
<p>Leider bekomm ich folgende Fehlermeldung:</p>
<pre><code>19 C:\Dev-Cpp\policy.hpp expected primary-expression before '.' token
</code></pre>
<p>Und versteh sie nicht wirklich. Ich hoffe ihr könnte mir helfen.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142587/verständnis-problem-von-policies</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 21:57:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142587.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 31 Mar 2006 21:05:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 21:05:27 GMT]]></title><description><![CDATA[<p>Ich versteh Policies noch nicht so richtig und probiere gerade etwas damit. Allerdings bin ich mir noch nichtmal sicher ob das wirklich Policies sind was ich da mache. Das hab ich versucht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;policy.hpp&quot;

int main() {
    Ausgabe&lt;Toll&gt; a;
    a.Zahl();
    std::cout &lt;&lt; std::endl;
    Ausgabe&lt;Einfach&gt; b;
    b.Zahl();
    std::cout &lt;&lt; std::endl;
    system(&quot;PAUSE&quot;);
}
</code></pre>
<pre><code class="language-cpp">class Toll {
    public:
        void Zahl() {
            std::cout &lt;&lt; &quot;Tolle Zahl: 5&quot;;
        }
};

class Einfach {
    public:
        void Zahl() {
            std::cout &lt;&lt; &quot;5&quot;;
        }
};

template&lt;class Policy&gt;
class Ausgabe {
    public:
        void Zahl() {
            Policy.Zahl();
        }
};
</code></pre>
<p>Leider bekomm ich folgende Fehlermeldung:</p>
<pre><code>19 C:\Dev-Cpp\policy.hpp expected primary-expression before '.' token
</code></pre>
<p>Und versteh sie nicht wirklich. Ich hoffe ihr könnte mir helfen.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028335</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Fri, 31 Mar 2006 21:05:27 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 21:13:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Toll {
    public:
        void do_Zahl() {
            std::cout &lt;&lt; &quot;Tolle Zahl: 5&quot;;
        }
};

class Einfach {
    public:
        void do_Zahl() {
            std::cout &lt;&lt; &quot;5&quot;;
        }
};

template&lt;class Policy&gt;
class Ausgabe:public Policy {
    public:
        void Zahl() {
            do_Zahl();
        }
};
</code></pre>
<p>MfG Spacelord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028340</guid><dc:creator><![CDATA[Spacelord]]></dc:creator><pubDate>Fri, 31 Mar 2006 21:13:15 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 21:17:51 GMT]]></title><description><![CDATA[<p>Ahh! Danke! Hab ich sogar verstanden *freu*</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028342</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Fri, 31 Mar 2006 21:17:51 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 21:42:32 GMT]]></title><description><![CDATA[<p>So, jetzt hab ich das ganze erweitert, und bin stecken geblieben. Die Policies sollen jetzt auch Template-Klassen sein:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class Toll {
    public:
        void Zahl() {
            T asd = 5;
            std::cout &lt;&lt; &quot;Tolle Zahl: &quot; &lt;&lt; asd;
        }
};

template&lt;class T&gt;
class Einfach {
    public:
        void Zahl() {
            T asd = 5;
            std::cout &lt;&lt; asd;
        }
};

template&lt;class T, template &lt;T&gt; class Policy&gt;
class Ausgabe : public Policy {
    public:
        void Zahl() {
            Policy::Zahl(); // Zeile 23
        }
};
</code></pre>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;policy.hpp&quot;

int main() {
    Ausgabe&lt;int, Toll&gt; a;
    a.Zahl();
    std::cout &lt;&lt; std::endl;
    Ausgabe&lt;int, Einfach&gt; b;
    b.Zahl();
    std::cout &lt;&lt; std::endl;
    system(&quot;PAUSE&quot;);
}
</code></pre>
<p>Folgender Fehler:</p>
<pre><code>23 C:\Dev-Cpp\policy.hpp `template&lt;T &lt;anonymous&gt; &gt; class Policy' used without template parameters
</code></pre>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028355</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Fri, 31 Mar 2006 21:42:32 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 21:45:20 GMT]]></title><description><![CDATA[<p>Versuch mal das: Policy&lt;T&gt;::Zahl();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028357</guid><dc:creator><![CDATA[Cool-O-Meter |XXXX------|]]></dc:creator><pubDate>Fri, 31 Mar 2006 21:45:20 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 21:49:58 GMT]]></title><description><![CDATA[<p>Cool-O-Meter |XXXX------| schrieb:</p>
<blockquote>
<p>Versuch mal das: Policy&lt;T&gt;::Zahl();</p>
</blockquote>
<p>Hab ich auch schonmal, dann kam:</p>
<pre><code>23 C:\Dev-Cpp\policy.hpp type/value mismatch at argument 1 in template parameter list for `template&lt;T &lt;anonymous&gt; &gt; class Policy'
</code></pre>
<p>Ich steig durch die Fehlermeldungen kaum noch durch.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028359</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Fri, 31 Mar 2006 21:49:58 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 21:57:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;class T, template &lt;class&gt; class Policy&gt;
class Ausgabe : public Policy&lt;T&gt; {
    public:
        void Zahl() {
            Policy&lt;T&gt;::Zahl(); 
        }
};
</code></pre>
<p>Edit: Dadurch dass du den Namen der Methode der Policiy Klassen durch den von Ausgabe überlagerst machst du dir nur selber das Leben schwer.Was spricht denn dagegen die Methode in Ausgabe anders zu nennen?<br />
Oder, halt doch bei do_Zahl zu bleiben?</p>
<p>MfG Spacelord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028361</guid><dc:creator><![CDATA[Spacelord]]></dc:creator><pubDate>Fri, 31 Mar 2006 21:57:21 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 22:01:38 GMT]]></title><description><![CDATA[<p>Danke nochmal für deine Hilfe!</p>
<p>Wenn ich das durch doZahl() ersetzte, bekomme ich folgenden fehler:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class Toll {
    public:
        void doZahl() {
            T asd = 5;
            std::cout &lt;&lt; &quot;Tolle Zahl: &quot; &lt;&lt; asd;
        }
};

template&lt;class T&gt;
class Einfach {
    public:
        void doZahl() {
            T asd = 5;
            std::cout &lt;&lt; asd;
        }
};

template&lt;class T, template &lt;class&gt; class Policy&gt;
class Ausgabe : public Policy&lt;T&gt; {
    public:
        void Zahl() {
            doZahl();
        }
};
</code></pre>
<pre><code>23 C:\Dev-Cpp\policy.hpp there are no arguments to `doZahl' that depend on a template parameter, so a declaration of `doZahl' must be available
</code></pre>
<p>Dann hab ich noch eine Frage: Warum kommt da am Anfang ein class in die &lt;&gt; Klammern? Was bedeutet dass denn genau wenn man so ein Schlüsselwort als Templateargument übergibt??</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028362</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Fri, 31 Mar 2006 22:01:38 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 22:30:38 GMT]]></title><description><![CDATA[<p>Mit VC++ 8 kompiliert der Code einwandfrei. gcc kotzt,macht aber auch gleich den Vorschlag mit -fpermissive zu kompilieren.Mit voller Qualifizierung läuft es auch ohne die zusätzliche Compileroption.</p>
<p>Zu deiner Frage:<br />
Du könntest auch schreiben</p>
<pre><code class="language-cpp">template&lt;class T, template &lt;class U&gt; class Policy&gt;
class Ausgabe....
</code></pre>
<p>Da du aber auf U innerhalb von Ausgabe ohnehin nicht zugreifen kannst,und es nur nen formales Argument zur Erzeugung von Policy ist kannst du es auch gleich weglassen.</p>
<p>MfG Spacelord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028366</guid><dc:creator><![CDATA[Spacelord]]></dc:creator><pubDate>Fri, 31 Mar 2006 22:30:38 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis-Problem von Policies on Fri, 31 Mar 2006 22:55:52 GMT]]></title><description><![CDATA[<p>Spacelord schrieb:</p>
<blockquote>
<p>Mit VC++ 8 kompiliert der Code einwandfrei. gcc kotzt,macht aber auch gleich den Vorschlag mit -fpermissive zu kompilieren.Mit voller Qualifizierung läuft es auch ohne die zusätzliche Compileroption.</p>
</blockquote>
<p>Jo, das mit dem -fpermissive klappt, dann ist nur noch ne Wahrnung da. Ist das denn schlimm oder kann ich die ignorieren?</p>
<blockquote>
<p>Zu deiner Frage:<br />
Du könntest auch schreiben</p>
<pre><code class="language-cpp">template&lt;class T, template &lt;class U&gt; class Policy&gt;
class Ausgabe....
</code></pre>
<p>Da du aber auf U innerhalb von Ausgabe ohnehin nicht zugreifen kannst,und es nur nen formales Argument zur Erzeugung von Policy ist kannst du es auch gleich weglassen.</p>
<p>MfG Spacelord</p>
</blockquote>
<p>Cool, hab ich verstanden! Danke, danke...</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1028372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1028372</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Fri, 31 Mar 2006 22:55:52 GMT</pubDate></item></channel></rss>