<?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[warnung Temporäre Größe für Parameter vermeiden]]></title><description><![CDATA[<pre><code>[C++ Warnung] TTest.cpp(86): W8030 Temporäre Größe für Parameter 'koordiante_left' in Aufruf von 'TForm1::SchichtenObjekt(int,int,int &amp;,int &amp;,int &amp;,int &amp;,bool,bool)' verwendet
[C++ Warnung] TTest.cpp(86): W8030 Temporäre Größe für Parameter 'koordiante_top' in Aufruf von 'TForm1::SchichtenObjekt(int,int,int &amp;,int &amp;,int &amp;,int &amp;,bool,bool)' verwendet
[C++ Warnung] TTest.cpp(86): W8030 Temporäre Größe für Parameter 'color' in Aufruf von 'TForm1::SchichtenObjekt(int,int,int &amp;,int &amp;,int &amp;,int &amp;,bool,bool)' verwendet
</code></pre>
<pre><code class="language-cpp">// bildbeispiel einlesen
for(int zeile=1; zeile&lt;=8;++zeile)
  {
  for(int spalte=1; spalte&lt;=8;++spalte)
    {
    puffer_graustufe=bilder[bildnummer][zeile][spalte];
    neuronkernfeuerrate[zielnetz][1][(((zeile-1)*8)+spalte)]=puffer_graustufe;
    SchichtenObjekt(1, (((zeile-1)*8)+spalte), 0, 0, puffer_graustufe, RGB(puffer_graustufe,puffer_graustufe,puffer_graustufe), true, true);
    }
  }
</code></pre>
<p>mit dummyvariablen (für true,true) gings glaub mal,<br />
aber geht das nicht eleganter ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195792/warnung-temporäre-größe-für-parameter-vermeiden</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 10:20:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195792.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Oct 2007 06:35:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 06:54:17 GMT]]></title><description><![CDATA[<pre><code>[C++ Warnung] TTest.cpp(86): W8030 Temporäre Größe für Parameter 'koordiante_left' in Aufruf von 'TForm1::SchichtenObjekt(int,int,int &amp;,int &amp;,int &amp;,int &amp;,bool,bool)' verwendet
[C++ Warnung] TTest.cpp(86): W8030 Temporäre Größe für Parameter 'koordiante_top' in Aufruf von 'TForm1::SchichtenObjekt(int,int,int &amp;,int &amp;,int &amp;,int &amp;,bool,bool)' verwendet
[C++ Warnung] TTest.cpp(86): W8030 Temporäre Größe für Parameter 'color' in Aufruf von 'TForm1::SchichtenObjekt(int,int,int &amp;,int &amp;,int &amp;,int &amp;,bool,bool)' verwendet
</code></pre>
<pre><code class="language-cpp">// bildbeispiel einlesen
for(int zeile=1; zeile&lt;=8;++zeile)
  {
  for(int spalte=1; spalte&lt;=8;++spalte)
    {
    puffer_graustufe=bilder[bildnummer][zeile][spalte];
    neuronkernfeuerrate[zielnetz][1][(((zeile-1)*8)+spalte)]=puffer_graustufe;
    SchichtenObjekt(1, (((zeile-1)*8)+spalte), 0, 0, puffer_graustufe, RGB(puffer_graustufe,puffer_graustufe,puffer_graustufe), true, true);
    }
  }
</code></pre>
<p>mit dummyvariablen (für true,true) gings glaub mal,<br />
aber geht das nicht eleganter ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389717</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Mon, 22 Oct 2007 06:54:17 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 07:19:32 GMT]]></title><description><![CDATA[<p>Der dritte bis sechste Parameter der Funktion sind Referenzen - da will die Funktion eigentlich etwas reinschreiben. Und offiziell ist es sogar verboten, temporäre Werte (Literale o.ä.) an eine nicht-konstante Referenz zu übergeben.</p>
<p>(wenn du nicht vorhast, über die Parameter etwas zurückzugeben, definier sie als Wert oder const-Referenz)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389733</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 22 Oct 2007 07:19:32 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 10:36:08 GMT]]></title><description><![CDATA[<p>deklaration</p>
<pre><code class="language-cpp">void SchichtenObjekt(int schicht, int index, int &amp;koordiante_left, int &amp;koordiante_top, int &amp;caption, int &amp;color, bool schreiben_caption, bool schreiben_color);
</code></pre>
<p>je nach den boolischen werten schreibe oder lese ich</p>
<p>hmm unser c++ lehrer hat uns beigebracht daß es die linksseitige ausgabe und unedlich ein/ausgaben gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389840</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Mon, 22 Oct 2007 10:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 10:41:31 GMT]]></title><description><![CDATA[<p>fuse schrieb:</p>
<blockquote>
<p>deklaration</p>
<pre><code class="language-cpp">void SchichtenObjekt(int schicht, int index, int &amp;koordiante_left, int &amp;koordiante_top, int &amp;caption, int &amp;color, bool schreiben_caption, bool schreiben_color);
</code></pre>
<p>je nach den boolischen werten schreibe oder lese ich</p>
</blockquote>
<p>Das klingt für mich nach einem Design-Fehler. Ich würde die Aufgaben lieber verteilen auf eine Lese- und eine Schreib-Methode.<br />
(und in deinem obigen Code hast du zumindest für color tatsächlich vor, in eine temporäre Variable zu <em>schreiben</em>)</p>
<blockquote>
<p>hmm unser c++ lehrer hat uns beigebracht daß es die linksseitige ausgabe und unedlich ein/ausgaben gibt.</p>
</blockquote>
<p>Was soll uns dieser Satz jetzt sagen? Und was hat er mit dem Problem zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389842</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 22 Oct 2007 10:41:31 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 11:24:03 GMT]]></title><description><![CDATA[<p>egal wenn ich mich hier zum schlumpf mache:<br />
bei zeigerdefinitionen heißt das &amp; doch daß die adresse der variable zurückgegeben wird.</p>
<p>hier hab ich das immer so behandelt als könnte man den parameter als ein oder ausgabe verwenden.</p>
<p>das hier geht:</p>
<pre><code class="language-cpp">bool TrainingEvoNetQuali(int netz, int ausgangszuordnung, int *&amp;biggest_value, int *&amp;secound_biggest_value); // gibt true zurück wenn der größte wert der ausgangszuordnung(synonym zielindex) entspricht. zu bewertendes netz, ausgangszuordnung, array mit pointern auf die 2 größten werte ([1]=größter [2]=zweitgrößter)
</code></pre>
<p>da hole ich einen zeiger aus der funktion raus.<br />
hmm die reihenfolge von * und &amp; hätt ich aber andersrum gewählt.<br />
hat &amp; hier eine andere bedeutung ?</p>
<p>das in extra funktionen aufzuteilen würde viel redundanten code bedeuten.<br />
nunja ih wollt es eh ml dynamisch lösen aber dazu müßt ich einiges zur laufzeit erzeugen.</p>
<p>es ist eigendich nur eine konverterfunktion<br />
das ist drin:</p>
<pre><code class="language-cpp">void TForm1::SchichtenObjekt(int schicht, int index, int &amp;koordiante_left, int &amp;koordiante_top, int &amp;caption, int &amp;color, bool schreiben_caption, bool schreiben_color)
{
// wenn caption/color 0 sind werden sie it dem wert aus dem pannel gefüllt
// ansonsten wird ihr inhalt in das panel geschrieben.

// panel caption darf nicht &quot;&quot; sein sonst exception

switch (schicht)
  {
  case 1:
  switch (index)
    {
    case 1:
    koordiante_left = Panel1-&gt;Left + (Panel1-&gt;Width/2);
    koordiante_top = Panel1-&gt;Top + (Panel1-&gt;Height/2);
    if(!schreiben_caption)
      caption = StrToInt(Panel1-&gt;Caption);
    else
      Panel1-&gt;Caption = caption;
    if(!schreiben_color)
      color = Panel1-&gt;Color;
    else
      Panel1-&gt;Color = (TColor)color;
    break;

    case 2:
    koordiante_left = Panel2-&gt;Left + (Panel2-&gt;Width/2);
    koordiante_top = Panel2-&gt;Top + (Panel2-&gt;Height/2);
    if(!schreiben_caption)
      caption = StrToInt(Panel2-&gt;Caption);
    else
      Panel2-&gt;Caption = caption;
    if(!schreiben_color)
      color = Panel2-&gt;Color;
    else
      Panel2-&gt;Color = (TColor)color;
    break;
</code></pre>
<p>und fröhlich weiter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389861</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Mon, 22 Oct 2007 11:24:03 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 11:19:55 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Das &amp; kennzeichnet in beiden Fällen eine Referenz auf den links daneben stehenden Typen. Das wäre im ersten Fall int und im zweiten int*.<br />
Wenn ein Parameter für Ein-/Ausgaben verwendet werden kann, dann kannst du ihm doch dann beim Aufruf keine Konstante zuweisen (wie oben geschehen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389867</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 22 Oct 2007 11:19:55 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 11:21:58 GMT]]></title><description><![CDATA[<p>fuse schrieb:</p>
<blockquote>
<p>egal wenn ich mich hier zum schlumpf mache:<br />
bei zeigerdefinitionen heißt das &amp; doch daß die adresse der variable zurückgegeben wird.</p>
</blockquote>
<p>Ja - aber du verwendest dort oben keine Zeiger, sondern <em>Referenzen</em> (eine Abart von Zeigern, die automatisch dereferenziert wird). Und eine Referenz muß auf eine gültige Variable verweisen (bei konstanten Referenzen sind dafür temporäre Variablen erlaubt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389870</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 22 Oct 2007 11:21:58 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 11:45:05 GMT]]></title><description><![CDATA[<p>heißt das, daß der stern da überflüssig ist ?<br />
nö wa ? hmm das heißt wohl es kommt eine vaiable das typs int* raus,<br />
so soll es auch <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="🙂"
    /><br />
deshalb geht es also <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/1389885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389885</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Mon, 22 Oct 2007 11:45:05 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 11:45:40 GMT]]></title><description><![CDATA[<p>fuse schrieb:</p>
<blockquote>
<p>heißt das, daß der stern da überflüssig ist ?</p>
</blockquote>
<p>Nicht unbedingt - die Funktion TrainingEvoNetQuali() nimmt Referenzen auf int-Zeiger entgegen, das hat durchaus seine Berechtigung.</p>
<p>PS: Deine Funktion sieht ja grauenhaft aus - viel zu viele Aufgaben auf einen Haufen. Das solltest du auseinandernehmen in einzelne Funktionen für jede Aufgabe (Koordinaten holen, Caption lesen, Caption schreiben,...).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389890</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 22 Oct 2007 11:45:40 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 12:00:17 GMT]]></title><description><![CDATA[<p>hmm<br />
währe die eins dann auch unsauber ?</p>
<p>beispielaufruf:</p>
<pre><code class="language-cpp">puffer_netqualirueckgabe = TrainingEvoNetQuali(1,puffer_ausgangszuordnung,biggest_rates[1][1],biggest_rates[1][2]);
</code></pre>
<p>wenn ich da immer variablen nehmen sollte würde das zu haufen dummyvariablen wie int dummy_1=1; führen oder wie soll man das sonst machen ?</p>
<p>jo kann ich mal auseinanderfuseln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389896</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Mon, 22 Oct 2007 12:00:17 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Mon, 22 Oct 2007 12:02:04 GMT]]></title><description><![CDATA[<p>Sauber wäre es, wenn du Lesen und Schreiben trennst (und das für jeden Wert einzeln - da brauchst du keine Dummy-Variablen für Werte, die du gerade nicht benötigst).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389898</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 22 Oct 2007 12:02:04 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Tue, 23 Oct 2007 05:16:32 GMT]]></title><description><![CDATA[<p>also mit &amp; nur für leses und ohne nur für schreiben verwenden ?</p>
<p>das lehrzeichen setze ich dan also bei der deklaratin dieser refferenz:<br />
int <em>&amp;biggest_value<br />
sinnigerweise besser so:<br />
int</em> &amp;biggest_value<br />
?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390290</guid><dc:creator><![CDATA[fuse]]></dc:creator><pubDate>Tue, 23 Oct 2007 05:16:32 GMT</pubDate></item><item><title><![CDATA[Reply to warnung Temporäre Größe für Parameter vermeiden on Tue, 23 Oct 2007 06:26:41 GMT]]></title><description><![CDATA[<p>fuse schrieb:</p>
<blockquote>
<p>also mit &amp; nur für leses und ohne nur für schreiben verwenden ?</p>
</blockquote>
<p>Ja.</p>
<blockquote>
<p>das lehrzeichen setze ich dan also bei der deklaratin dieser refferenz:<br />
int <em>&amp;biggest_value<br />
sinnigerweise besser so:<br />
int</em> &amp;biggest_value<br />
?</p>
</blockquote>
<p>Wie du das setzt, ist dem Compiler egal - hauptsache du weißt, was es bedeutet (ich setze es meistens so: <code>int*&amp; biggest_value</code> (oder lasse es ganz weg)).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390315</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 23 Oct 2007 06:26:41 GMT</pubDate></item></channel></rss>