<?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[elementinitialisierer für arrays]]></title><description><![CDATA[<p>hi leute ich hab ein problem mit einem einfachen code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

const size_t BUFSIZE=64;

class Buffer
{
private:
	char m_buf[BUFSIZE+1];

public:
	virtual ~Buffer() {};
	Buffer() {};
	const char* getBuf(void) const { return this-&gt;m_buf; };
};

int main()
{
	Buffer b();
	std::cout&lt;&lt;b.getBuf()&lt;&lt;std::endl;

	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
<p>zum einen würde mich interessieren wie ich das array initialisieren kann also z.b. mit : m_buf(0) oder :m_buf({0}) im ctor oder ob sowas überhaupt möglich ist. ausserdem erhalte ich bei diesem einfachen bsp den fehler:</p>
<blockquote>
<p>Links von &quot;.getKey&quot; muss sich eine Klasse/Struktur/Union befinden.</p>
</blockquote>
<p>was mache ich da falsch?<br />
danke schonmal im voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179323/elementinitialisierer-für-arrays</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 04:59:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179323.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Apr 2007 13:13:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to elementinitialisierer für arrays on Fri, 20 Apr 2007 13:13:42 GMT]]></title><description><![CDATA[<p>hi leute ich hab ein problem mit einem einfachen code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

const size_t BUFSIZE=64;

class Buffer
{
private:
	char m_buf[BUFSIZE+1];

public:
	virtual ~Buffer() {};
	Buffer() {};
	const char* getBuf(void) const { return this-&gt;m_buf; };
};

int main()
{
	Buffer b();
	std::cout&lt;&lt;b.getBuf()&lt;&lt;std::endl;

	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
<p>zum einen würde mich interessieren wie ich das array initialisieren kann also z.b. mit : m_buf(0) oder :m_buf({0}) im ctor oder ob sowas überhaupt möglich ist. ausserdem erhalte ich bei diesem einfachen bsp den fehler:</p>
<blockquote>
<p>Links von &quot;.getKey&quot; muss sich eine Klasse/Struktur/Union befinden.</p>
</blockquote>
<p>was mache ich da falsch?<br />
danke schonmal im voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269993</guid><dc:creator><![CDATA[jimmy3]]></dc:creator><pubDate>Fri, 20 Apr 2007 13:13:42 GMT</pubDate></item><item><title><![CDATA[Reply to elementinitialisierer für arrays on Fri, 20 Apr 2007 13:27:48 GMT]]></title><description><![CDATA[<p>Erstens: Direkt initialisieren kannst du ein Array leider nicht (leichte Inkompatibilität zwischen C und C++). Aber du kannst es im Ctor-Rumpf füllen (z.B. mit <code>Buffer() {strcpy(m_buf,&quot;Hallo Welt&quot;);}</code> ).<br />
(und in C++ arbeitet man sowieso lieber mit std::string anstelle von char-Arrays)</p>
<p>Zweitens: Was eine Deklaration sein könnte, wird vom Compiler als Deklaration angesehen. Und der Ausdruck &quot;Buffer b();&quot; deklariert eine parameterlose Funktion, die einen Buffer zurückgeben soll (daß du mit der nichts anfangen kannst, ist dem Compiler egal). Lass mal die Klammern weg, dann stimmt der Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270005</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 Apr 2007 13:27:48 GMT</pubDate></item><item><title><![CDATA[Reply to elementinitialisierer für arrays on Fri, 20 Apr 2007 13:34:05 GMT]]></title><description><![CDATA[<p>Hmm ich weiß nicht was du mit der Klasse machen willst ... wäre vllt. ganz gut wenn du uns das sagen würdest ^^</p>
<pre><code class="language-cpp">// Buffer.h
#ifndef BUFFER_H__INCLUDED
#define BUFFER_H__INCLUDED

namespace my_util
{
	class Buffer
	{
	public:
		Buffer(const std::size_t&amp;);
		~Buffer();

	public:
		const char*		get_data() const { return m_buffer; }
		std::size_t		get_size() const { return m_size;	}

	private:
		char*			m_buffer;
		std::size_t		m_size;
	};
};

#endif // BUFFER_H__INCLUDED
</code></pre>
<pre><code class="language-cpp">// Buffer.cpp
#include &quot;Buffer.h&quot;

namespace my_util
{
	Buffer::Buffer(const std::size_t&amp; size) : m_size(size)
	{
		m_buffer = new char [size];
	}

	Buffer::~Buffer()
	{
		if (m_buffer != NULL)
			delete [] m_buffer;
	}
};
</code></pre>
<p>... dann hast de ne dynamische Größe drin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;Buffer.h&quot;

int main()
{
    my_utils::Buffer buf(100);
    // buf nutzen ... am Ende von main wird der Speicher wieder freigegeben, da buf zerstört wird.
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1270014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270014</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 20 Apr 2007 13:34:05 GMT</pubDate></item><item><title><![CDATA[Reply to elementinitialisierer für arrays on Fri, 20 Apr 2007 14:04:13 GMT]]></title><description><![CDATA[<p>ok vielen dank euch beiden! habe beide vorschläge mal probiert und es klappt hervorragend <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1270036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1270036</guid><dc:creator><![CDATA[jimmy3]]></dc:creator><pubDate>Fri, 20 Apr 2007 14:04:13 GMT</pubDate></item></channel></rss>