<?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[Vector aus Automaten]]></title><description><![CDATA[<p>Hi,</p>
<p>ich schreibe gerade ein Programm, in welches man Automaten eingibt, und diese dann, wenn man 0 0 0 eingibt, der Reihe nach berechnet werden.<br />
Nun wollte ich einen Vektor schreiben, in dem die Automaten gesammelt werden. Hier mein Konstruktor für Automat:</p>
<pre><code class="language-cpp">Automat::Automat(const int k1, const int m1, const int n1) : k(k1)                          // Konstruktor
                                                           , m(m1) 
                                                           , n(n1) 
                                                           , Qa(m1) 
                                                           , Delta(n1, vector&lt;int&gt;(3)) {
};
</code></pre>
<p>In der main-Methode lege ich nun oben genannten Vektor an:</p>
<pre><code class="language-cpp">vector&lt;Automat&gt; automaten;
</code></pre>
<p>Dann wird die Eingabe abgefragt, und ggf. ein neuer Automat angelegt:</p>
<pre><code class="language-cpp">Automat *automat = new Automat(k,m,n);
</code></pre>
<p>Über verschiedene Funktionen werden dann Werte in den Automaten eingetragen:</p>
<pre><code class="language-cpp">automat-&gt;insertQa(automat, qa, mcount);
</code></pre>
<p>Danach wollte ich den Automaten auf den Vektor legen:</p>
<pre><code class="language-cpp">automaten.push_back(automat);
</code></pre>
<p>aber dann meckert der Compiler immer mit folgender Fehlermeldung:</p>
<p>46 main.cpp no matching function for call to `std::vector&lt;Automat, std::allocator&lt;Automat&gt; &gt;::push_back(Automat*&amp;)'<br />
note stl_vector.h:557 candidates are: void std::vector&lt;_Tp, _Alloc&gt;::push_back(const _Tp&amp;) [with _Tp = Automat, _Alloc = std::allocator&lt;Automat&gt;]</p>
<p>Wo liegt mein Fehler, und wie müsste es richtig heißen?</p>
<p>Vielen Dank für Eure Hilfe, Ozzy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165579/vector-aus-automaten</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 19:28:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165579.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Nov 2006 11:03:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector aus Automaten on Tue, 21 Nov 2006 11:03:36 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich schreibe gerade ein Programm, in welches man Automaten eingibt, und diese dann, wenn man 0 0 0 eingibt, der Reihe nach berechnet werden.<br />
Nun wollte ich einen Vektor schreiben, in dem die Automaten gesammelt werden. Hier mein Konstruktor für Automat:</p>
<pre><code class="language-cpp">Automat::Automat(const int k1, const int m1, const int n1) : k(k1)                          // Konstruktor
                                                           , m(m1) 
                                                           , n(n1) 
                                                           , Qa(m1) 
                                                           , Delta(n1, vector&lt;int&gt;(3)) {
};
</code></pre>
<p>In der main-Methode lege ich nun oben genannten Vektor an:</p>
<pre><code class="language-cpp">vector&lt;Automat&gt; automaten;
</code></pre>
<p>Dann wird die Eingabe abgefragt, und ggf. ein neuer Automat angelegt:</p>
<pre><code class="language-cpp">Automat *automat = new Automat(k,m,n);
</code></pre>
<p>Über verschiedene Funktionen werden dann Werte in den Automaten eingetragen:</p>
<pre><code class="language-cpp">automat-&gt;insertQa(automat, qa, mcount);
</code></pre>
<p>Danach wollte ich den Automaten auf den Vektor legen:</p>
<pre><code class="language-cpp">automaten.push_back(automat);
</code></pre>
<p>aber dann meckert der Compiler immer mit folgender Fehlermeldung:</p>
<p>46 main.cpp no matching function for call to `std::vector&lt;Automat, std::allocator&lt;Automat&gt; &gt;::push_back(Automat*&amp;)'<br />
note stl_vector.h:557 candidates are: void std::vector&lt;_Tp, _Alloc&gt;::push_back(const _Tp&amp;) [with _Tp = Automat, _Alloc = std::allocator&lt;Automat&gt;]</p>
<p>Wo liegt mein Fehler, und wie müsste es richtig heißen?</p>
<p>Vielen Dank für Eure Hilfe, Ozzy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1178341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1178341</guid><dc:creator><![CDATA[Ozzy]]></dc:creator><pubDate>Tue, 21 Nov 2006 11:03:36 GMT</pubDate></item><item><title><![CDATA[Reply to Vector aus Automaten on Tue, 21 Nov 2006 11:15:04 GMT]]></title><description><![CDATA[<p>Du hast einen vector&lt;Automat&gt; und willst dort Zeiger reinpacken - das ist der Fehler. Also entweder du verwendest einen vector&lt;Automat*&gt; oder du verwendest Stack-Objekte (letzteres ist sicherer):</p>
<pre><code class="language-cpp">vector&lt;Automat&gt; automaten;

...
Automat automat(k,m,n);  
automat.insertQa(automat, qa, mcount);  
...
automaten.push_back(automat);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1178361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1178361</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 21 Nov 2006 11:15:04 GMT</pubDate></item><item><title><![CDATA[Reply to Vector aus Automaten on Tue, 21 Nov 2006 12:04:18 GMT]]></title><description><![CDATA[<p>Ok, soweit, so gut. Jetzt habe ich aber folgendes, wenn auch wahrscheinlich triviales Problem:</p>
<p>nach der While-Schleife soll ja die Berechnung durchgeführt werden. Dafür habe in in der Klasse Automat die Funktion:</p>
<pre><code class="language-cpp">void Automat::ausdruck(Automat automat){...
</code></pre>
<p>Doch wie kann ich die jetzt aus der main-Methode aufrufen, wenn ich nicht</p>
<pre><code class="language-cpp">automat.ausdruck(automaten[i])
</code></pre>
<p>schreiben kann, da ich ja Qausi das Objekt automat nicht mehr habe?</p>
<p>MfG, Ozzy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1178418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1178418</guid><dc:creator><![CDATA[Ozzy]]></dc:creator><pubDate>Tue, 21 Nov 2006 12:04:18 GMT</pubDate></item><item><title><![CDATA[Reply to Vector aus Automaten on Tue, 21 Nov 2006 12:06:43 GMT]]></title><description><![CDATA[<p>Ozzy schrieb:</p>
<blockquote>
<p>nach der While-Schleife soll ja die Berechnung durchgeführt werden. Dafür habe in in der Klasse Automat die Funktion:</p>
<pre><code class="language-cpp">void Automat::ausdruck(Automat automat){...
</code></pre>
</blockquote>
<p>Sind an dieser Berechnung zwei Automaten beteiligt, oder wozu brauchst du den Parameter?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1178424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1178424</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 21 Nov 2006 12:06:43 GMT</pubDate></item><item><title><![CDATA[Reply to Vector aus Automaten on Tue, 21 Nov 2006 12:09:45 GMT]]></title><description><![CDATA[<p>Ozzy schrieb:</p>
<blockquote>
<p>Doch wie kann ich die jetzt aus der main-Methode aufrufen, wenn ich nicht</p>
<pre><code class="language-cpp">automat.ausdruck(automaten[i])
</code></pre>
<p>schreiben kann, da ich ja Qausi das Objekt automat nicht mehr habe?</p>
<p>MfG, Ozzy</p>
</blockquote>
<p>Du hast doch noch genug andere Automaten zur Auswahl, die du verwenden kannst - die stehen alle in deinem Vektor:</p>
<pre><code class="language-cpp">automaten[i].ausdruck(automaten[j]);
//woher du i und j bekommst, hängt von deinem Problem ab
</code></pre>
<p>Und MFK's Frage würde mich auch interessieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1178426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1178426</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 21 Nov 2006 12:09:45 GMT</pubDate></item><item><title><![CDATA[Reply to Vector aus Automaten on Tue, 21 Nov 2006 12:20:42 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich dachte anfangs mal, ich müsste der Funktion den Automaten mit übergeben, was natürlich schwachsinn ist, wenn die Funktion ja auf dem Automaten aufgerufen wird... Muss also weg; danke für den Hinweis.</p>
<p>Ich denke, dann bekomme ich das jetzt hin. Vielen Dank noch einmal!!!</p>
<p>MfG, Ozzy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1178436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1178436</guid><dc:creator><![CDATA[Ozzy]]></dc:creator><pubDate>Tue, 21 Nov 2006 12:20:42 GMT</pubDate></item></channel></rss>