<?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[funktion und typen?]]></title><description><![CDATA[<p>Hallo an Alle</p>
<p>ich uebe gerade die Anfaenge und bin bei &quot;funktionen&quot;. Diese hier funktioneiert auch:<br />
main:</p>
<pre><code>#include&quot;zaehle.h&quot;
#include&lt;string&gt;
#include&lt;iostream&gt;
using namespace std;

int main()
{
	cout&lt;&lt;&quot;Bitte Text eingeben: &quot;&lt;&lt;endl;
	char text;
	cin&gt;&gt;text;
	cout&lt;&lt;zaehle(text);
}
</code></pre>
<p>funktion:</p>
<pre><code>#include&lt;iostream&gt;
using namespace std;

char zaehle(char s)
{
	s++;
	return s;
}
</code></pre>
<p>header:<br />
[/code]<br />
char zaehle(char);[code]</p>
<p>Wenn ich nun &quot;char&quot; durch &quot;string&quot; ersetze dann bekomme ich diesen fehler:</p>
<p>zaehle.h:1:error:'string' does not name a type<br />
<a href="http://main.cc:11" rel="nofollow">main.cc:11</a>:error:'zaehle' was not declared in this scope</p>
<p>was mache ich falsch..habt ihr ne idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204576/funktion-und-typen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 18:03:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204576.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Feb 2008 01:19:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 01:19:49 GMT]]></title><description><![CDATA[<p>Hallo an Alle</p>
<p>ich uebe gerade die Anfaenge und bin bei &quot;funktionen&quot;. Diese hier funktioneiert auch:<br />
main:</p>
<pre><code>#include&quot;zaehle.h&quot;
#include&lt;string&gt;
#include&lt;iostream&gt;
using namespace std;

int main()
{
	cout&lt;&lt;&quot;Bitte Text eingeben: &quot;&lt;&lt;endl;
	char text;
	cin&gt;&gt;text;
	cout&lt;&lt;zaehle(text);
}
</code></pre>
<p>funktion:</p>
<pre><code>#include&lt;iostream&gt;
using namespace std;

char zaehle(char s)
{
	s++;
	return s;
}
</code></pre>
<p>header:<br />
[/code]<br />
char zaehle(char);[code]</p>
<p>Wenn ich nun &quot;char&quot; durch &quot;string&quot; ersetze dann bekomme ich diesen fehler:</p>
<p>zaehle.h:1:error:'string' does not name a type<br />
<a href="http://main.cc:11" rel="nofollow">main.cc:11</a>:error:'zaehle' was not declared in this scope</p>
<p>was mache ich falsch..habt ihr ne idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449441</guid><dc:creator><![CDATA[latenite]]></dc:creator><pubDate>Tue, 05 Feb 2008 01:19:49 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 01:52:39 GMT]]></title><description><![CDATA[<p>Das liegt daran, dass kein Postinkrement-Operator für die String-Klasse existiert.</p>
<p>Einige weitere Tipps:</p>
<ol>
<li>C++-Dateien haben die Endung &quot;cpp&quot;.</li>
<li>iostream zweimal einzubinden ist Krampf.</li>
<li>Ein Include von std in einer Header-Datei ist schlecht.</li>
</ol>
<p>~ moagnus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449450</guid><dc:creator><![CDATA[moagnus]]></dc:creator><pubDate>Tue, 05 Feb 2008 01:52:39 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 06:38:15 GMT]]></title><description><![CDATA[<blockquote>
<ol start="3">
<li>Ein Include von std in einer Header-Datei ist schlecht.</li>
</ol>
</blockquote>
<p>???</p>
<blockquote>
<p>was mache ich falsch..habt ihr ne idee?</p>
</blockquote>
<p>Ja.</p>
<pre><code class="language-cpp">#include&quot;zaehle.h&quot;
#include&lt;string&gt;
#include&lt;iostream&gt;
using namespace std;

// Dieser Prototyp gibt der main bekannt, daß eine solche Funktion noch folgt
char zaehle(char s);

int main()
{
    cout&lt;&lt;&quot;Bitte Text eingeben: &quot;&lt;&lt;endl;
    char text;
    cin&gt;&gt;text;
    cout&lt;&lt;zaehle(text);
}	

char zaehle(char s)
{
    s++;
    return s;
}
</code></pre>
<p>Deine zaehle Funktion zählt allerdings nicht. Sie nimmt den ASCII-Wert eines Buchstabe, inkrementiert ihn und gibt dann somit das im ASCII nachfolgende Zeichen zurück. Mit char geht das weils es im Grunde eine Zahl ist, ein string ist dagegen keine.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449459</guid><dc:creator><![CDATA[Tyrdal]]></dc:creator><pubDate>Tue, 05 Feb 2008 06:38:15 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 07:01:49 GMT]]></title><description><![CDATA[<p>moagnus schrieb:</p>
<blockquote>
<p>Das liegt daran, dass kein Postinkrement-Operator für die String-Klasse existiert.</p>
<p>Einige weitere Tipps:</p>
<ol>
<li>C++-Dateien haben die Endung &quot;cpp&quot;.</li>
</ol>
</blockquote>
<p>Wäre mir neu das es auf cpp festgelegt wäre, da ich schon divese Formen von Source- und Headerbenennungen erlebt habe... Steht hier im Standard wirklich eine Festlegung? (ja, die Endung cpp ist auch für mich die Übliche, aber imho gibt es mehrere zulässige Endungen).</p>
<p>moagnus schrieb:</p>
<blockquote>
<ol start="2">
<li>iostream zweimal einzubinden ist Krampf.</li>
</ol>
</blockquote>
<p>Das doppelte includieren an sich ist mit sicherheit kein Krampf... Sofern man irgendwo iostreams einsetzt sollte man es auch in der entsprechenden Codeeinheit includieren (Wenn möglich in der Sourcedatei, wenn nötig statt dessen im Header).</p>
<p>moagnus schrieb:</p>
<blockquote>
<ol start="3">
<li>Ein Include von std in einer Header-Datei ist schlecht.</li>
</ol>
</blockquote>
<p>Man inkludiert kein &quot;std&quot;, so das man hier nicht versteht was gemeint ist.</p>
<p>Man sollte &quot;using namespace&quot; niemals im Header verwenden, dort lieber Typbezeichnungen ganz ausschreiben. &quot;using namespace&quot; gehört wenn überhaupt in die Sourcedatei (Die Nachteile beim öffentlich machen eines Namensraumes im Header überwiegen die Vorteile).</p>
<p>latenite schrieb:</p>
<blockquote>
<p>Wenn ich nun &quot;char&quot; durch &quot;string&quot; ersetze dann bekomme ich diesen fehler:</p>
<p>zaehle.h:1:error:'string' does not name a type<br />
<a href="http://main.cc:11" rel="nofollow">main.cc:11</a>:error:'zaehle' was not declared in this scope</p>
</blockquote>
<p>Das ist auch logisch. In dem Header zaehle.h ist der Typ string nicht bekannt. Hier fehlt das Include. Durch diesen Fehler gilt die Funktion als nicht vorhanden, daher der Folgefehler. Auch wenn es dennoch verkehrt ist, dazu aber gleich mehr würde der Header wie folgt richtig sein:</p>
<pre><code class="language-cpp">#if !defined(ZAEHLE_HEADER)
#define ZAEHLE_HEADER

#include &lt;string&gt;

std::string zaehle(const std::string&amp; zahl);

#endif
</code></pre>
<p>So nun aber der logische Fehler, wie von Tyrdal schon angedeutet: Man rechnet nicht mit strings sondern mit Zahlen. Du solltest die Zahl als Integerwert einlesen und verwenden...</p>
<p>// zaehle.h</p>
<pre><code class="language-cpp">#if !defined(ZAEHLE_HEADER)
#define ZAEHLE_HEADER

long zaehle(long zahl);

#endif
</code></pre>
<p>// zaehle.cpp</p>
<pre><code class="language-cpp">#include &quot;zaehle.h&quot;

long zaehle(long zahl)
{
    return ++zahl;
}
</code></pre>
<p>// main.cpp</p>
<pre><code class="language-cpp">#include&quot;zaehle.h&quot;
#include&lt;iostream&gt;
using namespace std;

int main()
{
    cout &lt;&lt; &quot;Bitte eine Zahl eingeben: &quot; &lt;&lt; endl;
    long zahl;
    cin &gt;&gt; zahl;
    cout &lt;&lt; zaehle(zahl);
}
</code></pre>
<p>Alternativ kannst du natürlich auch vorher strings in Zahlen umwandeln, aber dazu gibt es schon diverse andere Threads in diesem Forum...</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449466</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 05 Feb 2008 07:01:49 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 07:57:09 GMT]]></title><description><![CDATA[<p>moagnus schrieb:</p>
<blockquote>
<p>Einige weitere Tipps:</p>
<ol>
<li>C++-Dateien haben die Endung &quot;cpp&quot;.</li>
</ol>
</blockquote>
<p>Das ist eine der Möglichkeiten. Wobei in alter UNIX Tradition die Endung &quot;.cpp&quot; eher unbeliebt ist, da &quot;cpp&quot; der Standalone C-Präprozessor ist, &quot;cc&quot; der C-Compiler, &quot;CC&quot; der C++ Compiler. &quot;.cc&quot; und &quot;.C&quot; sind ebenfalls übliche Namenserweiterungen für C++ Sourcen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449476</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Tue, 05 Feb 2008 07:57:09 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 14:28:41 GMT]]></title><description><![CDATA[<p>also danke erst mal<br />
es lang eecht daran das ich #include&lt;string&gt; nicht angegeben hatte.<br />
.cc machjt bei mir Anjuta automatisch...muss wohl so sein.</p>
<p>noch eine frage: mit getline kann ich dann eine ganze Zeile einlesen.<br />
Wenn ich dann aber enter druecke ist schluss mit einlesen. ... wie erwartet.<br />
Aber wie kann ich den user mehrere Zeilen eingeben lassen, um sie dann z.B. in einer datei zu speichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449821</guid><dc:creator><![CDATA[latenite]]></dc:creator><pubDate>Tue, 05 Feb 2008 14:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 14:32:29 GMT]]></title><description><![CDATA[<p>Hmm while(std::getline(std::cin, string)) if (string == &quot;ende&quot;) break; z.B.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449827</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 05 Feb 2008 14:32:29 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 14:33:12 GMT]]></title><description><![CDATA[<p>Mehrmals getline aufrufen? <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="😉"
    /><br />
Die jeweiligen Zeilen kannst du dann in einem vector&lt;string&gt; etc. speichern oder direkt in eine Datei schreiben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449829</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 05 Feb 2008 14:33:12 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 15:01:29 GMT]]></title><description><![CDATA[<p>ja ok ich kann getline mehrmals aufrufen. Aber wie kann der user mitteilen dsa er fertig ist mit der eingabe? string==ende kann doch auch zum abbruch fuehren wenn der string ende enthaelt aber nicht ende gemeint ist? oder?!</p>
<p>Welceh Schleife und welche Bedingung zum abbruch nimmt man da?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1449850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1449850</guid><dc:creator><![CDATA[latenite]]></dc:creator><pubDate>Tue, 05 Feb 2008 15:01:29 GMT</pubDate></item><item><title><![CDATA[Reply to funktion und typen? on Tue, 05 Feb 2008 22:49:16 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if (string == &quot;ende&quot;)
</code></pre>
<p>Hier wird true nur zurück gegeben wenn auch &quot;ende&quot; drin steht.<br />
Bei &quot;nichtende&quot; oder &quot;enden&quot; gibt es ein false.</p>
<p>Sowas kann man aber auch ganz einfach selbst nachprüfen.<br />
Die if-Abfrage ist ja nun wirklich kein Codemonster.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1450152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1450152</guid><dc:creator><![CDATA[hornochs]]></dc:creator><pubDate>Tue, 05 Feb 2008 22:49:16 GMT</pubDate></item></channel></rss>