<?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[invalid use of non-static data member --- Wer weiß rat?]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich bin gerade dabei eine Klasse zu programmieren:</p>
<pre><code class="language-cpp">class system
{	
	public:

	int process;

        system();

	void boot(int action);

};
</code></pre>
<p>Die Implementierung sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">system::system()
{
     process=0;
}
void system::boot(int action=process)
{
...
}
</code></pre>
<p>Nun kommt mir der Compiler mit oben genannter Fehlermeldung daher:</p>
<pre><code>invalid use of non-static data member 'system::process'
</code></pre>
<p>und ich weiß absolut nicht warum.</p>
<p>Komischerweise funktioniert der Code wenn ich aus der int process eine define mache, woran liegt das?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/299884/invalid-use-of-non-static-data-member-wer-weiß-rat</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 01:33:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/299884.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Feb 2012 13:57:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to invalid use of non-static data member --- Wer weiß rat? on Mon, 20 Feb 2012 13:57:10 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich bin gerade dabei eine Klasse zu programmieren:</p>
<pre><code class="language-cpp">class system
{	
	public:

	int process;

        system();

	void boot(int action);

};
</code></pre>
<p>Die Implementierung sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">system::system()
{
     process=0;
}
void system::boot(int action=process)
{
...
}
</code></pre>
<p>Nun kommt mir der Compiler mit oben genannter Fehlermeldung daher:</p>
<pre><code>invalid use of non-static data member 'system::process'
</code></pre>
<p>und ich weiß absolut nicht warum.</p>
<p>Komischerweise funktioniert der Code wenn ich aus der int process eine define mache, woran liegt das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183446</guid><dc:creator><![CDATA[Gastq789]]></dc:creator><pubDate>Mon, 20 Feb 2012 13:57:10 GMT</pubDate></item><item><title><![CDATA[Reply to invalid use of non-static data member --- Wer weiß rat? on Mon, 20 Feb 2012 14:09:52 GMT]]></title><description><![CDATA[<p>Du versuchst hier, dem Parameter <code>action</code> einen Standardwert zuzuweisen. Der Standardwert kann aber keine Variable sein.</p>
<p>Was genau willst du denn eigentlich? Soll bei jedem Aufruf von <code>boot action</code> auf den Wert von <code>process</code> gesetzt werden? <code>process</code> ist doch Member der Klasse und somit bekannt. Diese Zuweisung ist also nicht nur ungültig, sondern auch unnötig. Wenn du quasi ein Override zulassen willst, mach es doch anders. Standardwert=0 (in dem Fall wird <code>process</code> genommen), und wenn ungleich 0, gilt halt der übergebene Wert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183454</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 20 Feb 2012 14:09:52 GMT</pubDate></item><item><title><![CDATA[Reply to invalid use of non-static data member --- Wer weiß rat? on Mon, 20 Feb 2012 14:18:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke für die Antwort.</p>
<p>Also, wie du bereits richtig erkannt hast soll action beim aufruf auf den Wert von process gesetzt werden, falls keine eingabe erfolgt. Process ändert sich aber im Laufe des Programms, es geht also nicht action=0 zu schreiben.</p>
<p>Wie würdest du oben geschriebenes realisieren?<br />
Man könnte es natürlich auch mit einer in der Methode folgenden if machen, in der action und process dann manuel verglichen werden, aber das gelbe vom ei ist das nicht...</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183462</guid><dc:creator><![CDATA[Gastq789]]></dc:creator><pubDate>Mon, 20 Feb 2012 14:18:49 GMT</pubDate></item><item><title><![CDATA[Reply to invalid use of non-static data member --- Wer weiß rat? on Mon, 20 Feb 2012 14:29:45 GMT]]></title><description><![CDATA[<p>Dann überlade die Methode:</p>
<pre><code class="language-cpp">//private Methode:
void system::privateBoot(int action)
{
...
}

void system::boot(int action)
{
privateBoot(action);
}

//und
void system::boot()
{
privateBoot(process);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2183464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183464</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Mon, 20 Feb 2012 14:29:45 GMT</pubDate></item><item><title><![CDATA[Reply to invalid use of non-static data member --- Wer weiß rat? on Mon, 20 Feb 2012 14:32:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Natürlich....<br />
Da hätt ich eigentlich auch selber draufkommen können <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>
<p>Vielen Dank an euch beide! <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>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183466</guid><dc:creator><![CDATA[Gastq789]]></dc:creator><pubDate>Mon, 20 Feb 2012 14:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to invalid use of non-static data member --- Wer weiß rat? on Mon, 20 Feb 2012 16:45:06 GMT]]></title><description><![CDATA[<p>Liegt es nicht eher daran, dass man den Standardwert immer bei der Deklaration angibt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183518</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Mon, 20 Feb 2012 16:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to invalid use of non-static data member --- Wer weiß rat? on Mon, 20 Feb 2012 19:14:10 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Liegt es nicht eher daran, dass man den Standardwert immer bei der Deklaration angibt?</p>
</blockquote>
<p>y, tut man - was aber nichts daran ändert, dass man nur statische oder globale variablen (bzw konstanten) verwenden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183569</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 20 Feb 2012 19:14:10 GMT</pubDate></item></channel></rss>