<?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[Fstream Objekt an Funktion übergeben]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte eine Datei öffnen und zeilenweise einlesen. Die Zeilen sollen in der Funktion get_next_line nacheinander eingelesen und in der main Funktion weiter verarbeitet werden.</p>
<pre><code class="language-cpp">string get_next_line ( ifstream infile )
{
	string line;
	getline ( infile, line );
	return line;
}

int main() 
{ 
	string line;
	string filename ( &quot;test.txt&quot; );
	ifstream infile ( filename.c_str () );

	if ( infile == NULL )
		cout &lt;&lt; &quot;Can't open &quot; &lt;&lt; filename &lt;&lt; endl;
	else
		cout &lt;&lt; filename &lt;&lt; &quot; opened.&quot; &lt;&lt; endl;
	line = get_next_line ( infile ); // Fehler?
	return 0;
}
</code></pre>
<p>Die Fehlermeldung lautet:</p>
<blockquote>
<p>error C2248: &quot;std::basic_ios&lt;_Elem,_Traits&gt;::basic_ios&quot;: Kein Zugriff auf private Member, dessen Deklaration in der std::basic_ios&lt;_Elem,_Traits&gt;-Klasse erfolgte.</p>
</blockquote>
<p>Ich vermute der Fehler liegt in Zeile 18, denn wenn ich die Zeile auskommentiere, dann läuft das Programm durch.<br />
Warum ist das falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245320/fstream-objekt-an-funktion-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 20:13:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245320.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Jul 2009 19:03:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fstream Objekt an Funktion übergeben on Sun, 12 Jul 2009 19:03:25 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte eine Datei öffnen und zeilenweise einlesen. Die Zeilen sollen in der Funktion get_next_line nacheinander eingelesen und in der main Funktion weiter verarbeitet werden.</p>
<pre><code class="language-cpp">string get_next_line ( ifstream infile )
{
	string line;
	getline ( infile, line );
	return line;
}

int main() 
{ 
	string line;
	string filename ( &quot;test.txt&quot; );
	ifstream infile ( filename.c_str () );

	if ( infile == NULL )
		cout &lt;&lt; &quot;Can't open &quot; &lt;&lt; filename &lt;&lt; endl;
	else
		cout &lt;&lt; filename &lt;&lt; &quot; opened.&quot; &lt;&lt; endl;
	line = get_next_line ( infile ); // Fehler?
	return 0;
}
</code></pre>
<p>Die Fehlermeldung lautet:</p>
<blockquote>
<p>error C2248: &quot;std::basic_ios&lt;_Elem,_Traits&gt;::basic_ios&quot;: Kein Zugriff auf private Member, dessen Deklaration in der std::basic_ios&lt;_Elem,_Traits&gt;-Klasse erfolgte.</p>
</blockquote>
<p>Ich vermute der Fehler liegt in Zeile 18, denn wenn ich die Zeile auskommentiere, dann läuft das Programm durch.<br />
Warum ist das falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741663</guid><dc:creator><![CDATA[einles0r]]></dc:creator><pubDate>Sun, 12 Jul 2009 19:03:25 GMT</pubDate></item><item><title><![CDATA[Reply to Fstream Objekt an Funktion übergeben on Sun, 12 Jul 2009 19:08:03 GMT]]></title><description><![CDATA[<p>übergib den stream per referenz, nicht per Kopie.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741667</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sun, 12 Jul 2009 19:08:03 GMT</pubDate></item><item><title><![CDATA[Reply to Fstream Objekt an Funktion übergeben on Sun, 12 Jul 2009 19:11:16 GMT]]></title><description><![CDATA[<p>Wow, schnelle Antwort! <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>
<p>Stimmt, so geht es:</p>
<pre><code class="language-cpp">string get_next_line ( ifstream&amp; infile );
</code></pre>
<p>Warum muss das per Referenz sein? <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=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741672</guid><dc:creator><![CDATA[einles0r]]></dc:creator><pubDate>Sun, 12 Jul 2009 19:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to Fstream Objekt an Funktion übergeben on Sun, 12 Jul 2009 19:11:52 GMT]]></title><description><![CDATA[<p>einles0r schrieb:</p>
<blockquote>
<p>Wow, schnelle Antwort! <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>
<p>Stimmt, so geht es:</p>
<pre><code class="language-cpp">string get_next_line ( ifstream&amp; infile );
</code></pre>
<p>Warum muss das per Referenz sein? <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=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>weil streams nicht kopierbar sind</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741673</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 12 Jul 2009 19:11:52 GMT</pubDate></item><item><title><![CDATA[Reply to Fstream Objekt an Funktion übergeben on Sun, 12 Jul 2009 19:50:20 GMT]]></title><description><![CDATA[<p>Ok, thanks!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741690</guid><dc:creator><![CDATA[einles0r]]></dc:creator><pubDate>Sun, 12 Jul 2009 19:50:20 GMT</pubDate></item><item><title><![CDATA[Reply to Fstream Objekt an Funktion übergeben on Mon, 13 Jul 2009 15:50:42 GMT]]></title><description><![CDATA[<p>programmiertechnisch wird erreicht indem man den copy constructor auf private oder protected setzt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742242</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 13 Jul 2009 15:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fstream Objekt an Funktion übergeben on Mon, 13 Jul 2009 16:34:44 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>programmiertechnisch wird erreicht indem man den copy constructor auf private oder protected setzt</p>
</blockquote>
<p>Ist das alles? Klingt ja einfach ... <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742263</guid><dc:creator><![CDATA[Mitleid]]></dc:creator><pubDate>Mon, 13 Jul 2009 16:34:44 GMT</pubDate></item></channel></rss>