<?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[Problem mit const in Klasse]]></title><description><![CDATA[<p>Hi,<br />
gegeben ist folgende Klasse</p>
<pre><code class="language-cpp">enum BEERRORTYPE
{
    BERT_FAILED,
};

class beError
{
    public:
        //Type Definitions

        //Tors
        beError(void);
        ~beError(void);
        beError(const beError&amp; rerError);

        //Methodes

        //Get Methodes
        inline BEERRORTYPE gError(void);

    private:
        //Attributes
        BEERRORTYPE ertError;

};

beError::beError(void)
{
    this-&gt;ertError=BERT_FAILED;
}

beError::~beError(void)
{

}

beError::beError(const beError&amp; rerError)
{
    this-&gt;ertError=rerError.gError(); //hier kommt der Fehler
}

BEERRORTYPE beError::gError(void)
{
    return this-&gt;ertError;
}
</code></pre>
<p>Wenn ich versuche das zu compilieren bekomme ich folgenden Fehler<br />
....discard qualifiers...</p>
<p>Wenn ich das const im Copy Konstructor wegnehme funktioniert es tadellos.<br />
Nur habe ich keine Ahnung warum.<br />
Auch wenn ich statt rerError.gError() rerError.ertError einsetzte funktioniert es.</p>
<p>gError ist doch nur eine einfache Methode.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167262/problem-mit-const-in-klasse</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 19:05:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167262.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 Dec 2006 22:15:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit const in Klasse on Fri, 08 Dec 2006 22:15:18 GMT]]></title><description><![CDATA[<p>Hi,<br />
gegeben ist folgende Klasse</p>
<pre><code class="language-cpp">enum BEERRORTYPE
{
    BERT_FAILED,
};

class beError
{
    public:
        //Type Definitions

        //Tors
        beError(void);
        ~beError(void);
        beError(const beError&amp; rerError);

        //Methodes

        //Get Methodes
        inline BEERRORTYPE gError(void);

    private:
        //Attributes
        BEERRORTYPE ertError;

};

beError::beError(void)
{
    this-&gt;ertError=BERT_FAILED;
}

beError::~beError(void)
{

}

beError::beError(const beError&amp; rerError)
{
    this-&gt;ertError=rerError.gError(); //hier kommt der Fehler
}

BEERRORTYPE beError::gError(void)
{
    return this-&gt;ertError;
}
</code></pre>
<p>Wenn ich versuche das zu compilieren bekomme ich folgenden Fehler<br />
....discard qualifiers...</p>
<p>Wenn ich das const im Copy Konstructor wegnehme funktioniert es tadellos.<br />
Nur habe ich keine Ahnung warum.<br />
Auch wenn ich statt rerError.gError() rerError.ertError einsetzte funktioniert es.</p>
<p>gError ist doch nur eine einfache Methode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188910</guid><dc:creator><![CDATA[Wlusi]]></dc:creator><pubDate>Fri, 08 Dec 2006 22:15:18 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit const in Klasse on Fri, 08 Dec 2006 22:27:15 GMT]]></title><description><![CDATA[<p>Die gError Methode muß const sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188916</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Fri, 08 Dec 2006 22:27:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit const in Klasse on Fri, 08 Dec 2006 22:31:49 GMT]]></title><description><![CDATA[<p>Wlusi schrieb:</p>
<blockquote>
<p>Wenn ich versuche das zu compilieren bekomme ich folgenden Fehler<br />
....discard qualifiers...</p>
</blockquote>
<p>Bitte immer die komplette Fehlermeldung posten, insbesondere auch die Stelle, an der sie auftritt. Eine nicht-statische Memberfunktion, die nicht const ist, kann nur mit Objekten aufgerufen werden, die nicht const sind. Der Parameter des copy-ctors ist hier aber vom Typ const beError&amp; . Um mit diesem Objekt die Funktion gError() aufrufen zu können, müsste der Typ aber beError&amp; sein, d.h. das const des Parameters unter den Tisch fallen (was der Compiler ja auf sagt: &quot;call to ... discards qualifiers&quot; oder so ähnlich), was aber nicht möglich ist. Es gibt keine implizite Konvertierung eines const T in ein T.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188919</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 08 Dec 2006 22:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit const in Klasse on Sat, 09 Dec 2006 09:32:16 GMT]]></title><description><![CDATA[<p>Dann habe ich noch eine Frage.</p>
<p>Wenn ich bei dem Copy Constructor das const wegnehme, gilt er dann immer noch als Copy Constructor oder als einfacer Constructor?</p>
<p>Zweite Frage. Wie mache ich die Methode const?<br />
Folgendes funktioniert nicht:</p>
<pre><code class="language-cpp">class beError
{
    public:
        //Type Definitions

        //Tors
        beError(void);
        ~beError(void);
        beError(const beError&amp; rerError);

        //Methodes

        //Get Methodes
        inline const BEERRORTYPE gError(void);

    private:
        //Attributes
        BEERRORTYPE ertError;

};

const BEERRORTYPE beError::gError(void)
{
    return this-&gt;ertError;
}
</code></pre>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1188977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1188977</guid><dc:creator><![CDATA[Wlusi]]></dc:creator><pubDate>Sat, 09 Dec 2006 09:32:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit const in Klasse on Sat, 09 Dec 2006 18:23:09 GMT]]></title><description><![CDATA[<p>Hmm, irgendwie finde ich die ganzen Präfizes ganz schön verwirrend. Bist Du Dir sicher, dass Du die brauchst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189204</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sat, 09 Dec 2006 18:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit const in Klasse on Sun, 10 Dec 2006 09:20:35 GMT]]></title><description><![CDATA[<blockquote>
<p>Hmm, irgendwie finde ich die ganzen Präfizes ganz schön verwirrend. Bist Du Dir sicher, dass Du die brauchst?</p>
</blockquote>
<p>Sicher bin ich mir nicht nicht, aber mir helfen sie bei größeren Projecten imens.<br />
Aber nun zurück zum Topic...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189362</guid><dc:creator><![CDATA[Wlusi]]></dc:creator><pubDate>Sun, 10 Dec 2006 09:20:35 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit const in Klasse on Sun, 10 Dec 2006 09:56:17 GMT]]></title><description><![CDATA[<p>Wlusi schrieb:</p>
<blockquote>
<p>Zweite Frage. Wie mache ich die Methode const?</p>
</blockquote>
<p>Indem du das const hinter die Methodendeklaration und -implementation schreibst:</p>
<pre><code class="language-cpp">class bar
{
   int foo() const;
};

int bar::foo() const
{
   return 42;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1189370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189370</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Sun, 10 Dec 2006 09:56:17 GMT</pubDate></item></channel></rss>