<?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[Konvertierung von const Object const* to Object*]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich stehe gerade vor einem kleinen Problem mit der Übergabe von einem Object.<br />
Meine Klassen sind so aufgebaut:</p>
<pre><code class="language-cpp">class a
{

  class b
  {
    public:
      explicit b(a* aobject);
    private:
      static a* aobject;
  };

public:
    static a* getInstance();
    b* getBObject() const;

private:
    a();
    static a *aobject;
    mutable b *bobject;

}
</code></pre>
<p>Bei der Implementierung der Funktion getBOject() tritt immer ein Fehler auf:</p>
<pre><code class="language-cpp">b* a::getBOject() const
{
    //Im Konstruktor von a wird bobject als 0 initialisiert.
    if (bobject = 0)
        bobject = new b(this);

    return bobject;
}
</code></pre>
<p>Dort tritt immer der Fehler auf:<br />
a:<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f171.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--b_button_blood_type_"
      title=":b:"
      alt="🅱"
    />:b(a*)': Konvertierung des Parameters 1 von 'const a *const ' in 'a*' nicht möglich<br />
Durch die Konvertierung gehen Qualifizierer verloren</p>
<p>Was muss ich veränder dass es klappt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/306791/konvertierung-von-const-object-const-to-object</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 07:49:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306791.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Aug 2012 15:32:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konvertierung von const Object const* to Object* on Tue, 07 Aug 2012 15:32:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich stehe gerade vor einem kleinen Problem mit der Übergabe von einem Object.<br />
Meine Klassen sind so aufgebaut:</p>
<pre><code class="language-cpp">class a
{

  class b
  {
    public:
      explicit b(a* aobject);
    private:
      static a* aobject;
  };

public:
    static a* getInstance();
    b* getBObject() const;

private:
    a();
    static a *aobject;
    mutable b *bobject;

}
</code></pre>
<p>Bei der Implementierung der Funktion getBOject() tritt immer ein Fehler auf:</p>
<pre><code class="language-cpp">b* a::getBOject() const
{
    //Im Konstruktor von a wird bobject als 0 initialisiert.
    if (bobject = 0)
        bobject = new b(this);

    return bobject;
}
</code></pre>
<p>Dort tritt immer der Fehler auf:<br />
a:<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f171.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--b_button_blood_type_"
      title=":b:"
      alt="🅱"
    />:b(a*)': Konvertierung des Parameters 1 von 'const a *const ' in 'a*' nicht möglich<br />
Durch die Konvertierung gehen Qualifizierer verloren</p>
<p>Was muss ich veränder dass es klappt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239709</guid><dc:creator><![CDATA[devilx]]></dc:creator><pubDate>Tue, 07 Aug 2012 15:32:07 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von const Object const* to Object* on Tue, 07 Aug 2012 15:42:46 GMT]]></title><description><![CDATA[<p>Du bestimmst doch mit const, dass das Objekt nicht geänderd wird, versuchst es aber dennoch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239715</guid><dc:creator><![CDATA[Helmut.Jakoby]]></dc:creator><pubDate>Tue, 07 Aug 2012 15:42:46 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von const Object const* to Object* on Tue, 07 Aug 2012 15:45:59 GMT]]></title><description><![CDATA[<p>Nun, <code>a::b::b()</code> erwartet ein <code>a*</code> , keinen <code>const a*</code> , den du in <code>a::getBObject()</code> als <code>this</code> hast, da <code>a::getBObject()</code> selber const ist. Entweder ist das dort in <code>a::b::b()</code> falsch, dann musst du es dort ändern oder <code>a::getBObject()</code> kann nicht const sein.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> Aber: Sofortige Designnotbremse! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /><br />
Als jemand, der nicht einmal einen Vergleich richtig hinbekommt (Zeile 4), kannst du mir nicht erzählen, dass diese Klassenstruktur irgendwie sinnvoll wäre. Was sollen diese Relationen darstellen? Das ist der wirrste Zusammenhang zwischen Klassen, den ich jemals gesehen habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239716</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 07 Aug 2012 15:45:59 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von const Object const* to Object* on Tue, 07 Aug 2012 16:08:04 GMT]]></title><description><![CDATA[<p>Ich hatte den Code nur etwas umgeschrieben heir kann ich dir mal die richtige Klasse zeigen:</p>
<pre><code class="language-cpp">#ifndef PLAYERHOLDER_H
#define PLAYERHOLDER_H

#include &lt;QtCore&gt;
#include &lt;player.h&gt;
#include &lt;datasource.h&gt;

class PLAYERHOLDER
{

    class CONTACTMODEL : public QAbstractTableModel
    {
        Q_OBJECT
    public:
        explicit CONTACTMODEL(PLAYERHOLDER* holder);

        int rowCount( const QModelIndex &amp;parent ) const;
        int columnCount( const QModelIndex &amp;parent ) const;
        QVariant data( const QModelIndex &amp;index, int role ) const;
        QVariant headerData( int section, Qt::Orientation orientation, int role ) const;

    private:
        static PLAYERHOLDER* m_playerHolder;
    };

public:
    static PLAYERHOLDER* getInstance();
    void createPlayer(PLAYER *player);
    void updatePlayer(int id);
    void deletePlayer(int id);
    PLAYER* findPlayer(int id);
    void loadPlayers(int teamid);

    QAbstractItemModel* model() const;

private:
    PLAYERHOLDER();
    static PLAYERHOLDER *thePlayerholder;
    QHash&lt;int, PLAYER*&gt; playerlist;
    DATASOURCE *datasource;
    mutable CONTACTMODEL *m_model;
};

#endif // PLAYERHOLDER_H
</code></pre>
<pre><code class="language-cpp">QAbstractItemModel* PLAYERHOLDER::model() const
{
    if (m_model = 0)
        m_model = new CONTACTMODEL(this);

    return m_model;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2239722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239722</guid><dc:creator><![CDATA[devilx]]></dc:creator><pubDate>Tue, 07 Aug 2012 16:08:04 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von const Object const* to Object* on Tue, 07 Aug 2012 16:26:51 GMT]]></title><description><![CDATA[<p>Erklärung und Lösung des Problems sind immer noch die gleiche, der Vergleich ist auch immer noch falsch, die Klassenstruktur ist immer noch höchst wirr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239734</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 07 Aug 2012 16:26:51 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von const Object const* to Object* on Tue, 07 Aug 2012 16:30:47 GMT]]></title><description><![CDATA[<p>Die Klasse PLAYERHOLDER stellt das API der Datenhaltung zu Verfügung, würde ich das QAbstractTableModel außerhalb implementieren würde es ein Duplikat der Daten haben oder die Kasse PLAYERHOLDER muss mehrere Methoden zur Verfügung stellen um die View zu Versorgen. Diese nested class struktur wird von QT empfholen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239735</guid><dc:creator><![CDATA[devilx]]></dc:creator><pubDate>Tue, 07 Aug 2012 16:30:47 GMT</pubDate></item></channel></rss>