<?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[class sich im vector selbst registrieren lassen]]></title><description><![CDATA[<p>Hi</p>
<p>Ich möchte im Konstruktor meiner Klasse die Klasse sich selbst in einem vector registrieren lassen.</p>
<p>ich habs mit dem pointer 'this' probiert , der gibt aber class uUnit *const zurück<br />
Hier der code:</p>
<pre><code class="language-cpp">class
uUnit {

	short uDirection;
	short health;

	objects uType;
	position uPos;
	unit_weap uWeap;

public:
	uUnit();
	uUnit(short my_dir,short my_health,objects my_type,position my_pos,unit_weap my_weap);
	void uMove(direction direc);
	void uDoMeleeAttack();
	void uRegMe();

	void uTakeDamage(int damage);
};

//Konstruktor===============================================================================================
uUnit::uUnit(short my_dir,short my_health,objects my_type,position my_pos,unit_weap my_weap)
: uDirection(my_dir)
, health(my_health)
, uType(my_type)
, uPos(my_pos)
, uWeap(my_weap)
	{++unitcount;}

uUnit::uUnit(){}
//==========================================================================================================

vector&lt;uUnit&gt; uVector;

void
uUnit::uDoMeleeAttack(){}

void
uUnit::uRegMe(){
	uVector.push_back(this);
}
</code></pre>
<p>und hier die Fehlermeldung</p>
<pre><code>error C2664: 'push_back' : Konvertierung des Parameters 1 von 'class uUnit *const ' in 'const class uUnit &amp;' nicht moeglich
        Ursache: Konvertierung von 'class uUnit *const ' in 'const class uUnit' nicht moeglich
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Ueberladungsaufloesung des Konstruktors ist mehrdeutig
</code></pre>
<p>Hab ich da was beim vector falsch gemacht oder muss ich das ganze anders machen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/151319/class-sich-im-vector-selbst-registrieren-lassen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 10:15:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/151319.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Jun 2006 09:03:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to class sich im vector selbst registrieren lassen on Sun, 25 Jun 2006 09:03:03 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Ich möchte im Konstruktor meiner Klasse die Klasse sich selbst in einem vector registrieren lassen.</p>
<p>ich habs mit dem pointer 'this' probiert , der gibt aber class uUnit *const zurück<br />
Hier der code:</p>
<pre><code class="language-cpp">class
uUnit {

	short uDirection;
	short health;

	objects uType;
	position uPos;
	unit_weap uWeap;

public:
	uUnit();
	uUnit(short my_dir,short my_health,objects my_type,position my_pos,unit_weap my_weap);
	void uMove(direction direc);
	void uDoMeleeAttack();
	void uRegMe();

	void uTakeDamage(int damage);
};

//Konstruktor===============================================================================================
uUnit::uUnit(short my_dir,short my_health,objects my_type,position my_pos,unit_weap my_weap)
: uDirection(my_dir)
, health(my_health)
, uType(my_type)
, uPos(my_pos)
, uWeap(my_weap)
	{++unitcount;}

uUnit::uUnit(){}
//==========================================================================================================

vector&lt;uUnit&gt; uVector;

void
uUnit::uDoMeleeAttack(){}

void
uUnit::uRegMe(){
	uVector.push_back(this);
}
</code></pre>
<p>und hier die Fehlermeldung</p>
<pre><code>error C2664: 'push_back' : Konvertierung des Parameters 1 von 'class uUnit *const ' in 'const class uUnit &amp;' nicht moeglich
        Ursache: Konvertierung von 'class uUnit *const ' in 'const class uUnit' nicht moeglich
        Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Ueberladungsaufloesung des Konstruktors ist mehrdeutig
</code></pre>
<p>Hab ich da was beim vector falsch gemacht oder muss ich das ganze anders machen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1084918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1084918</guid><dc:creator><![CDATA[RobthaR]]></dc:creator><pubDate>Sun, 25 Jun 2006 09:03:03 GMT</pubDate></item><item><title><![CDATA[Reply to class sich im vector selbst registrieren lassen on Sun, 25 Jun 2006 09:37:37 GMT]]></title><description><![CDATA[<p>Du hast einen Vektor mit Objekten definiert, versuchst aber einen Zeiger auf<br />
ein solches Objekt einzufügen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1084940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1084940</guid><dc:creator><![CDATA[Redhead]]></dc:creator><pubDate>Sun, 25 Jun 2006 09:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to class sich im vector selbst registrieren lassen on Sun, 25 Jun 2006 12:07:27 GMT]]></title><description><![CDATA[<p>Danke<br />
Hab jetzt n vector mit pointern gemacht und es funktioniert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1085054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1085054</guid><dc:creator><![CDATA[RobthaR]]></dc:creator><pubDate>Sun, 25 Jun 2006 12:07:27 GMT</pubDate></item></channel></rss>