<?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[expected type-specifier before &#x27;sock&#x27;]]></title><description><![CDATA[<p>Hallo leute,</p>
<p>ich erhalte eine Seltsame Fehlermeldung mit dem ich nichts anfangen kann. Kann mir jemand von euch mal kurz unter die Arme greifen ?</p>
<p>Fehlermeldung:<br />
-expected type-spefier before 'eth'<br />
-cannont convert 'int*' to 'verbindung'<br />
-expected ',' or ';' before 'eth'<br />
-no matching function for call to 'protokoll::protokoll(verbindung&amp;)'</p>
<p>der Code in main:</p>
<pre><code class="language-cpp">... {
 Verbindung *ver = new eth();
 Protokoll pro = new Protokoll (ver);
 ver.aufbau();
...}
</code></pre>
<p>da kriege ich die Fehlermeldungen! Wobei ich nun eine obere Schicht Protokoll habe, welche dem Interface Verbindung ein Objekt übergibt der Klasse eth;</p>
<p>Helllp pleasee!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279916/expected-type-specifier-before-sock</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 08:05:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279916.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Jan 2011 08:47:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 08:47:17 GMT]]></title><description><![CDATA[<p>Hallo leute,</p>
<p>ich erhalte eine Seltsame Fehlermeldung mit dem ich nichts anfangen kann. Kann mir jemand von euch mal kurz unter die Arme greifen ?</p>
<p>Fehlermeldung:<br />
-expected type-spefier before 'eth'<br />
-cannont convert 'int*' to 'verbindung'<br />
-expected ',' or ';' before 'eth'<br />
-no matching function for call to 'protokoll::protokoll(verbindung&amp;)'</p>
<p>der Code in main:</p>
<pre><code class="language-cpp">... {
 Verbindung *ver = new eth();
 Protokoll pro = new Protokoll (ver);
 ver.aufbau();
...}
</code></pre>
<p>da kriege ich die Fehlermeldungen! Wobei ich nun eine obere Schicht Protokoll habe, welche dem Interface Verbindung ein Objekt übergibt der Klasse eth;</p>
<p>Helllp pleasee!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003022</guid><dc:creator><![CDATA[underground231]]></dc:creator><pubDate>Thu, 06 Jan 2011 08:47:17 GMT</pubDate></item><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 08:50:58 GMT]]></title><description><![CDATA[<p>Klasse eth ist auch eine Klasse Verbindung?<br />
Mach mal die Klammern bei new eth(); weg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003025</guid><dc:creator><![CDATA[Paul Müller]]></dc:creator><pubDate>Thu, 06 Jan 2011 08:50:58 GMT</pubDate></item><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 09:02:07 GMT]]></title><description><![CDATA[<p>Hallo Paul,</p>
<p>danke für deine schnelle Antwort;</p>
<p>genau die Klasse eth ist eine Verbindung zu dem Interface Verbindung...<br />
die Klammer nach eth weglassen hat nichts gebracht leider! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003028</guid><dc:creator><![CDATA[underground231]]></dc:creator><pubDate>Thu, 06 Jan 2011 09:02:07 GMT</pubDate></item><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 09:07:02 GMT]]></title><description><![CDATA[<p>Ist das der original Code und welchen Compiler nutzt du? Ich finde es etwas seltsam, dass deine Beizeichner in der Überschrift nicht mit deinem Problem identisch sind.<br />
Funktioniert den die nächste Zeile? Die ergibt ja nun überhaupt keinen Sinn, außer den Programmierer zu verwirren.</p>
<pre><code class="language-cpp">Protokoll pro = new Protokoll (ver);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2003031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003031</guid><dc:creator><![CDATA[Paul Müller]]></dc:creator><pubDate>Thu, 06 Jan 2011 09:07:02 GMT</pubDate></item><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 09:10:10 GMT]]></title><description><![CDATA[<p>Was ist Verbindung, was ist eth? Nach deinem Code muss eth von Verbindung ableiten, damit die Initialisierung durchgeführt werden kann.<br />
Ausserdem kann ver.aufbau() nicht funktionieren, da ver ein Zeiger ist und kein Stack Object.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003034</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 06 Jan 2011 09:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 09:20:27 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/903">@Paul</a>: Sorry, hatte oben was verwechselt. Ja, es ist Originialcode...<br />
Ich wollte damit ein Objekt der Klasse erstellen über das Interface und es dem Protokoll übergeben.<br />
Die nächste Zeile funktioniert auch nicht mit der Meldung:<br />
-no matching call to 'Protokoll::Protokoll(Verbindung*&amp;)'</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18927">@DocShoe</a>: Genau eth leitet von Verbindung ab (Verbindung = Interface und wählt zwischen eth und wlan)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003043</guid><dc:creator><![CDATA[underground231]]></dc:creator><pubDate>Thu, 06 Jan 2011 09:20:27 GMT</pubDate></item><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 09:26:32 GMT]]></title><description><![CDATA[<p>Dann schau mal nach, ob du die Header für die Klasse eth auch wirklich eingebunden hast.<br />
Aus der nächsten Zeile machst du einfach <code>Protokoll pro(ver);</code> . Alternativ kann Verbindung auch einen Constructor anbieten, der einen Zeiger nimmt. Doch damit stifet man eigentlich nur Verwirrung und macht sich unnötigen Aufwand.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003046</guid><dc:creator><![CDATA[Paul Müller]]></dc:creator><pubDate>Thu, 06 Jan 2011 09:26:32 GMT</pubDate></item><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 09:40:26 GMT]]></title><description><![CDATA[<p>Ich habe es nur in der Header der Klasse Protokoll eingebunden mit der Zeile:</p>
<pre><code class="language-cpp">...private:
Verbindung &amp;ver...
</code></pre>
<p>Wie würde ich das dann in eth einbinden ? Und wieso müsste ich das denn da einbinden ?</p>
<p>...das andere mit der Verwirrung verwirrt mich selbst jetzt :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003051</guid><dc:creator><![CDATA[underground231]]></dc:creator><pubDate>Thu, 06 Jan 2011 09:40:26 GMT</pubDate></item><item><title><![CDATA[Reply to expected type-specifier before &#x27;sock&#x27; on Thu, 06 Jan 2011 09:59:14 GMT]]></title><description><![CDATA[<p>Zeig mal etwas mehr Code. Bei deinen Pünktchen kann man nur ahnen, was dort stehen soll. Prinzipiell ist es aber so, willst du eine Klasse verwenden, so musst du sie über ihren Header bekannt machen. Einfach nur das Interface einbinden reicht nicht. Der Compiler muss den Aufbau des konkreten Objektes kennen.</p>
<blockquote>
<p>..das andere mit der Verwirrung verwirrt mich selbst jetzt</p>
</blockquote>
<p>Implizite Typumwandlungen sind immer etwas heikel, weil dadurch unbeabsichtigte Dinge passieren können. Unter anderen das man die Auswirkung der Anweisung nicht erkennt. Und ein Zeiger auf ein Objekt ist nun mal kein Objekt. Das Problem kann man aber einfach umgehen, indem man den Zeiger vorher dereferenziert, dh. sich vorher das Objekt holt, auf dass der Zeiger zeigt. Außerdem hat deine von Java geklaute Initialisierung von Objekten in C++ einen weiteren Nachteil. Du forderst Speicher an (ist langsam), dieser muss in C++ auch wieder frei gegeben werden (ist auch langsam). Du erstellst erst ein Objekt im dynamischen Speicher und dann eine Kopie auf dem Stack. Das ist natürlich auch langsamer, als gleich ein Objekt auf dem Stack anzulegen. Es ist übrigens auch nicht verkehrt statt einen Zeiger auf das Interface Verbindung gleich das konkrete Objekt eth auf den Stack zu legen. Der Weg über das Interface ist nur notwendig, wenn sich die Verbindung ändern könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003056</guid><dc:creator><![CDATA[Paul Müller]]></dc:creator><pubDate>Thu, 06 Jan 2011 09:59:14 GMT</pubDate></item></channel></rss>