<?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[eigene Klasse Vektor fehlerhaft]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>kann mir jemand plausibel erklären, warum meine Klasse Vektor nicht richtig funktioniert:</p>
<pre><code>class Vektor{
	public:
		string name;
		int rows;
		double * values;
		Vektor(int rows);
		~Vektor();
		double&amp; operator[] (int row);
};

Vektor::Vektor(int rows){
	this-&gt;rows=rows;
	this-&gt;values=new double[rows];
}

Vektor::~Vektor(){
	delete [] values;
}

double&amp; Vektor::operator[] (int row){
	if(row&lt;0 || row &gt; this-&gt;rows) exit(1);
	else return this-&gt;values[row];
}

int main(){
	Vektor *v = new Vektor(5);
	v[0]=3;
	cout &lt;&lt; v[0];
	return 0;
}
</code></pre>
<p>Beim Compilieren bekomme ich den Fehler:<br />
error C2679: binary '&lt;&lt;' : no operator defined which takes a right-hand operand of type 'class Vektor'<br />
v[0] ist doch ein double... oder hab ich was übersehen?</p>
<p>Danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186130/eigene-klasse-vektor-fehlerhaft</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 07:24:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186130.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Jul 2007 11:26:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eigene Klasse Vektor fehlerhaft on Thu, 05 Jul 2007 11:26:52 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>kann mir jemand plausibel erklären, warum meine Klasse Vektor nicht richtig funktioniert:</p>
<pre><code>class Vektor{
	public:
		string name;
		int rows;
		double * values;
		Vektor(int rows);
		~Vektor();
		double&amp; operator[] (int row);
};

Vektor::Vektor(int rows){
	this-&gt;rows=rows;
	this-&gt;values=new double[rows];
}

Vektor::~Vektor(){
	delete [] values;
}

double&amp; Vektor::operator[] (int row){
	if(row&lt;0 || row &gt; this-&gt;rows) exit(1);
	else return this-&gt;values[row];
}

int main(){
	Vektor *v = new Vektor(5);
	v[0]=3;
	cout &lt;&lt; v[0];
	return 0;
}
</code></pre>
<p>Beim Compilieren bekomme ich den Fehler:<br />
error C2679: binary '&lt;&lt;' : no operator defined which takes a right-hand operand of type 'class Vektor'<br />
v[0] ist doch ein double... oder hab ich was übersehen?</p>
<p>Danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318859</guid><dc:creator><![CDATA[Franky23]]></dc:creator><pubDate>Thu, 05 Jul 2007 11:26:52 GMT</pubDate></item><item><title><![CDATA[Reply to eigene Klasse Vektor fehlerhaft on Thu, 05 Jul 2007 11:35:13 GMT]]></title><description><![CDATA[<p>v ist kein vector, sondern ein vector* - und v[0] nutzt noch nicht deinen op[], sondern die eingebaute Zeiger-Arithmetik von C++.</p>
<p>(die Anweisung v[0]=3; legt übrigens einen neuen Vector mit 3 Elementen an und kopiert den mit dem default-generierten Zuweisungsoperator ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1318865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318865</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 05 Jul 2007 11:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to eigene Klasse Vektor fehlerhaft on Thu, 05 Jul 2007 12:21:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int main(){
    Vektor v(5);
    v[0]=3;
    cout &lt;&lt; v[0];
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1318890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318890</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 05 Jul 2007 12:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to eigene Klasse Vektor fehlerhaft on Thu, 05 Jul 2007 12:50:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int main(){ 
    Vektor *v = new Vektor(5); 
    v-&gt;operator [](0)=3; 
    cout &lt;&lt; v-&gt;operator [](0); 
    return 0; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1318910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1318910</guid><dc:creator><![CDATA[zeigerzeiger]]></dc:creator><pubDate>Thu, 05 Jul 2007 12:50:15 GMT</pubDate></item></channel></rss>