<?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[verstehe &amp;quot;invalid conversion&amp;quot;-error nicht]]></title><description><![CDATA[<p>Hallo an alle,<br />
bin ein blutiger Anfänger in C++. Bin eigentlich Java-Programmierer.<br />
Habe da folgendes Problem. Ich habe mir eine Buffer-Klasse geschrieben:</p>
<p>Buffer.h:</p>
<p>class Buffer<br />
{<br />
private:<br />
int BUFFER_SIZE;</p>
<p>public:<br />
Buffer(int size);<br />
char *buffer;<br />
void free();<br />
friend class File;<br />
};</p>
<p><a href="http://Buffer.cc" rel="nofollow">Buffer.cc</a></p>
<p>#include &quot;Buffer.h&quot;</p>
<p>Buffer::Buffer(int size){<br />
if(size &lt; 1){<br />
throw new Exception(Exception::WrongBufferException);//Exception ist<br />
auch eine eigene Klasse die hier keine Rolle spielt<br />
}<br />
BUFFER_SIZE = size;<br />
buffer = malloc (BUFFER_SIZE);<br />
}</p>
<p>Buffer::~Buffer(){<br />
free(buffer);<br />
}</p>
<p>void Buffer::free(){<br />
free(buffer);<br />
BUFFER_SIZE = 0;<br />
}</p>
<p>später dann folgender Aufruf:</p>
<p>#define BUFFER_SIZE 1024<br />
...<br />
Buffer buffer = new Buffer(BUFFER_SIZE);</p>
<p>dabei erhalte ich folgenden Fehler:<br />
<a href="http://rcopy.cc:27" rel="nofollow">rcopy.cc:27</a>: error: invalid conversion from `Buffer*' to `int'<br />
<a href="http://rcopy.cc:27" rel="nofollow">rcopy.cc:27</a>: error: initializing argument 1 of `Buffer::Buffer(int)'</p>
<p>ich kann den Fehler nicht nachvollziehen. Er sagt doch aus, dass das<br />
erste Argument vom Konstruktor ihn verursacht. BUFFER_SIZE ist doch aber<br />
vom Typ int. Was mache ich falsch?</p>
<p>greetz<br />
Sid</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165220/verstehe-quot-invalid-conversion-quot-error-nicht</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 11:27:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165220.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Nov 2006 16:56:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to verstehe &amp;quot;invalid conversion&amp;quot;-error nicht on Thu, 16 Nov 2006 16:56:36 GMT]]></title><description><![CDATA[<p>Hallo an alle,<br />
bin ein blutiger Anfänger in C++. Bin eigentlich Java-Programmierer.<br />
Habe da folgendes Problem. Ich habe mir eine Buffer-Klasse geschrieben:</p>
<p>Buffer.h:</p>
<p>class Buffer<br />
{<br />
private:<br />
int BUFFER_SIZE;</p>
<p>public:<br />
Buffer(int size);<br />
char *buffer;<br />
void free();<br />
friend class File;<br />
};</p>
<p><a href="http://Buffer.cc" rel="nofollow">Buffer.cc</a></p>
<p>#include &quot;Buffer.h&quot;</p>
<p>Buffer::Buffer(int size){<br />
if(size &lt; 1){<br />
throw new Exception(Exception::WrongBufferException);//Exception ist<br />
auch eine eigene Klasse die hier keine Rolle spielt<br />
}<br />
BUFFER_SIZE = size;<br />
buffer = malloc (BUFFER_SIZE);<br />
}</p>
<p>Buffer::~Buffer(){<br />
free(buffer);<br />
}</p>
<p>void Buffer::free(){<br />
free(buffer);<br />
BUFFER_SIZE = 0;<br />
}</p>
<p>später dann folgender Aufruf:</p>
<p>#define BUFFER_SIZE 1024<br />
...<br />
Buffer buffer = new Buffer(BUFFER_SIZE);</p>
<p>dabei erhalte ich folgenden Fehler:<br />
<a href="http://rcopy.cc:27" rel="nofollow">rcopy.cc:27</a>: error: invalid conversion from `Buffer*' to `int'<br />
<a href="http://rcopy.cc:27" rel="nofollow">rcopy.cc:27</a>: error: initializing argument 1 of `Buffer::Buffer(int)'</p>
<p>ich kann den Fehler nicht nachvollziehen. Er sagt doch aus, dass das<br />
erste Argument vom Konstruktor ihn verursacht. BUFFER_SIZE ist doch aber<br />
vom Typ int. Was mache ich falsch?</p>
<p>greetz<br />
Sid</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1176103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1176103</guid><dc:creator><![CDATA[SidKennedy]]></dc:creator><pubDate>Thu, 16 Nov 2006 16:56:36 GMT</pubDate></item><item><title><![CDATA[Reply to verstehe &amp;quot;invalid conversion&amp;quot;-error nicht on Thu, 16 Nov 2006 17:07:33 GMT]]></title><description><![CDATA[<p>Ich empfehle dir, statt malloc/free new und delete zu benutzen.</p>
<p>Im Gegensatz zu Java musst du in C++ Objekte nicht mit new anlegen, aber wenn du es tust, bekommst du einen Zeiger. Den Rückgabewert von new könntest du hier also nur einem Buffer* zuweisen.</p>
<p>Deine #define-Direktive benennt auch deine Membervariable in 1024 um, wenn sie vor der #include-Direktive steht. In C++ solltest du #define außer für Includewächter gar nicht benutzen.</p>
<p>Übrigens solltest du auch die Exception nicht mit new erzeugen.</p>
<p>Und falls das nicht nur eine Übung sein soll: Die Klasse std::vector wäre wohl die bessere Wahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1176106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1176106</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 16 Nov 2006 17:07:33 GMT</pubDate></item><item><title><![CDATA[Reply to verstehe &amp;quot;invalid conversion&amp;quot;-error nicht on Thu, 16 Nov 2006 18:13:57 GMT]]></title><description><![CDATA[<p>ich danke dir in jeglicher Hinsischt - auch für den Tipp mit std::vector</p>
<p>greetz<br />
Sid</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1176131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1176131</guid><dc:creator><![CDATA[SidKennedy]]></dc:creator><pubDate>Thu, 16 Nov 2006 18:13:57 GMT</pubDate></item><item><title><![CDATA[Reply to verstehe &amp;quot;invalid conversion&amp;quot;-error nicht on Fri, 17 Nov 2006 08:30:16 GMT]]></title><description><![CDATA[<p>SidKennedy schrieb:</p>
<blockquote>
<p>ich danke dir in jeglicher Hinsischt - auch für den Tipp mit std::vector</p>
<p>greetz<br />
Sid</p>
</blockquote>
<p>std::string ist für sowas auch manchmal eine gute Wahl.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1176304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1176304</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 17 Nov 2006 08:30:16 GMT</pubDate></item></channel></rss>