<?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[Struct mit unterschiedlich großen Arrays als Inhalt]]></title><description><![CDATA[<p>Hallo allerseits!</p>
<p>Ich habe ein Problem mit Structs in einem Programm. Es geht dabei um das Struct &quot;generator&quot;. Ein &quot;generator&quot; soll prinzipiell ein array vom typ &quot;event&quot;, &quot;state&quot; und &quot;transition&quot; haben. Leider brauche ich mehrere &quot;generator&quot;s deren arrays &quot;event&quot; etc. leider auch unterschiedlich viele Einträge haben können.</p>
<pre><code class="language-cpp">struct event{
  string name;
  int priority;
  string plc_ioaddress_1;
  string plc_ioaddress_2;
  char edge_ind;
  bool ctrl;
  bool shrd;
};

struct transition{
  int prevstate;
  int newstate;
  event trans_event;
};

struct state{
  int statenumber;
  bool initial;
  bool marked;
};

struct generator {
  string name;
  state states[];
  event events[];
  transition tranitions[];
} generators[2];
</code></pre>
<p>Nun habe ich versucht, einem &quot;generator&quot; ein array folgendermaßen zuzuweisen:</p>
<pre><code class="language-cpp">generators[0].name = &quot;gen1&quot;;
  generators[0].states = states1;
  generators[0].events = events1;
  generators[0].transitions = transitions1;
</code></pre>
<p>Wobei &quot;states1&quot;, &quot;events1&quot; und &quot;transitions1&quot; von mir erstellte arrays sind. Der Compiler beschwert sich nun und meint:</p>
<pre><code>error: invalid array assignment
</code></pre>
<p>Woran liegt das und wie kann ich das beheben?</p>
<p>Mfg,<br />
Frank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/291728/struct-mit-unterschiedlich-großen-arrays-als-inhalt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 13:03:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/291728.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Aug 2011 12:51:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Struct mit unterschiedlich großen Arrays als Inhalt on Thu, 25 Aug 2011 12:51:27 GMT]]></title><description><![CDATA[<p>Hallo allerseits!</p>
<p>Ich habe ein Problem mit Structs in einem Programm. Es geht dabei um das Struct &quot;generator&quot;. Ein &quot;generator&quot; soll prinzipiell ein array vom typ &quot;event&quot;, &quot;state&quot; und &quot;transition&quot; haben. Leider brauche ich mehrere &quot;generator&quot;s deren arrays &quot;event&quot; etc. leider auch unterschiedlich viele Einträge haben können.</p>
<pre><code class="language-cpp">struct event{
  string name;
  int priority;
  string plc_ioaddress_1;
  string plc_ioaddress_2;
  char edge_ind;
  bool ctrl;
  bool shrd;
};

struct transition{
  int prevstate;
  int newstate;
  event trans_event;
};

struct state{
  int statenumber;
  bool initial;
  bool marked;
};

struct generator {
  string name;
  state states[];
  event events[];
  transition tranitions[];
} generators[2];
</code></pre>
<p>Nun habe ich versucht, einem &quot;generator&quot; ein array folgendermaßen zuzuweisen:</p>
<pre><code class="language-cpp">generators[0].name = &quot;gen1&quot;;
  generators[0].states = states1;
  generators[0].events = events1;
  generators[0].transitions = transitions1;
</code></pre>
<p>Wobei &quot;states1&quot;, &quot;events1&quot; und &quot;transitions1&quot; von mir erstellte arrays sind. Der Compiler beschwert sich nun und meint:</p>
<pre><code>error: invalid array assignment
</code></pre>
<p>Woran liegt das und wie kann ich das beheben?</p>
<p>Mfg,<br />
Frank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2110573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2110573</guid><dc:creator><![CDATA[FrankTheTank87]]></dc:creator><pubDate>Thu, 25 Aug 2011 12:51:27 GMT</pubDate></item><item><title><![CDATA[Reply to Struct mit unterschiedlich großen Arrays als Inhalt on Thu, 25 Aug 2011 12:53:18 GMT]]></title><description><![CDATA[<p>Du kannst arrays nicht zuweisen. Wenn du die feste größe von Anfang an kennst, nimm std::array, ansonsten std::vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2110574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2110574</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 25 Aug 2011 12:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to Struct mit unterschiedlich großen Arrays als Inhalt on Thu, 25 Aug 2011 13:01:27 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct generator { 
  string name; 
  state *states; 
  event *events; 
  transition *tranitions; 
}
//Später:
generator *generators = new generator[2];
generators-&gt;states = new state[10];
//...
</code></pre>
<p>Wenn ich richtig verstanden habe was du meinst... Die schönere Alternative wäre aber das Container-Gedöns von 231442352532523456363.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2110578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2110578</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Thu, 25 Aug 2011 13:01:27 GMT</pubDate></item><item><title><![CDATA[Reply to Struct mit unterschiedlich großen Arrays als Inhalt on Thu, 25 Aug 2011 13:28:55 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich kenne für jeden einzelnen &quot;generator&quot; die größe von dessen &quot;event&quot;, &quot;state&quot; und &quot;transition&quot; arrays.</p>
<p>Wie mache ich jetzt, dass &quot;generators[0]&quot; ein state array der Größe 10 bekommt, und &quot;generators[1]&quot; ein states array der Größe 4?</p>
<p>Was genau macht das hier?</p>
<pre><code class="language-cpp">generators-&gt;states = new state[10];
</code></pre>
<p>Heißt das nicht, dass von jedem &quot;generator&quot; im array &quot;generators&quot; das array states immer die Länge 10 hat?</p>
<p>Danke schonmal für die Antworten,<br />
MFG<br />
Frank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2110588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2110588</guid><dc:creator><![CDATA[FrankTheTank87]]></dc:creator><pubDate>Thu, 25 Aug 2011 13:28:55 GMT</pubDate></item><item><title><![CDATA[Reply to Struct mit unterschiedlich großen Arrays als Inhalt on Thu, 25 Aug 2011 13:30:29 GMT]]></title><description><![CDATA[<p>Wenn jeder generator 10 XY hat, dann nimm std::array:</p>
<pre><code class="language-cpp">std::array&lt;XY, 10&gt; xys;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2110590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2110590</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 25 Aug 2011 13:30:29 GMT</pubDate></item><item><title><![CDATA[Reply to Struct mit unterschiedlich großen Arrays als Inhalt on Thu, 25 Aug 2011 13:47:57 GMT]]></title><description><![CDATA[<blockquote>
<p>Wenn jeder generator 10 XY hat, dann nimm std::array:</p>
</blockquote>
<p>Nein, das ist ja gerade nicht der Fall. Was ich genau machen möchte steht in meine vorherigen Beitrag. Sorry wenn das vorher unverständlich formuliert war.</p>
<p>mfg,<br />
Frank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2110594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2110594</guid><dc:creator><![CDATA[FrankTheTank87]]></dc:creator><pubDate>Thu, 25 Aug 2011 13:47:57 GMT</pubDate></item><item><title><![CDATA[Reply to Struct mit unterschiedlich großen Arrays als Inhalt on Thu, 25 Aug 2011 16:16:35 GMT]]></title><description><![CDATA[<p>Selbst mit einem unbestimmten Array am Ende der struct ist das afaik undefiniertes Verhalten. Die Lösung für dich wurde schon genannt: verwende std::vector&lt;&gt; anstelle dieser Arrays.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2110651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2110651</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 25 Aug 2011 16:16:35 GMT</pubDate></item></channel></rss>