<?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[Expression: vector iterator not dereferencable]]></title><description><![CDATA[<p>Hi,<br />
ich habe folgendes Problem:<br />
ich habe einen Vektor und schreibe einen Pointer der auf den Anfang des vektors zeigt.<br />
Nun immer wenn ich komiliere und dann ausführe bekomm ich die Meldung:<br />
Expression: vector iterator not dereferencable<br />
Hier is ma der betroffene Code:</p>
<pre><code class="language-cpp">std::ifstream in(&quot;in.txt&quot;);
	std::vector&lt;char&gt;source_code;
	std::copy(
		std::istreambuf_iterator&lt;char&gt;(in.rdbuf()),
		std::istreambuf_iterator&lt;char&gt;(),
		std::back_inserter(source_code));

    const char *pos = &amp;source_code.front();
    const char *end = &amp;source_code.back() + 1;
</code></pre>
<p>Ich wäre froh, wenn mir jemand helfen könnte und mir vielleicht gerade noch den Fehler erklären.<br />
Ich verwende den Microsoft Visual C++ 2008 EE compiler. Komischerweise hat es mit Dev-C++ funktioniert.<br />
gruss</p>
<p>Lukas</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/223523/expression-vector-iterator-not-dereferencable</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 20:16:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223523.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Sep 2008 20:11:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Expression: vector iterator not dereferencable on Fri, 26 Sep 2008 20:11:56 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich habe folgendes Problem:<br />
ich habe einen Vektor und schreibe einen Pointer der auf den Anfang des vektors zeigt.<br />
Nun immer wenn ich komiliere und dann ausführe bekomm ich die Meldung:<br />
Expression: vector iterator not dereferencable<br />
Hier is ma der betroffene Code:</p>
<pre><code class="language-cpp">std::ifstream in(&quot;in.txt&quot;);
	std::vector&lt;char&gt;source_code;
	std::copy(
		std::istreambuf_iterator&lt;char&gt;(in.rdbuf()),
		std::istreambuf_iterator&lt;char&gt;(),
		std::back_inserter(source_code));

    const char *pos = &amp;source_code.front();
    const char *end = &amp;source_code.back() + 1;
</code></pre>
<p>Ich wäre froh, wenn mir jemand helfen könnte und mir vielleicht gerade noch den Fehler erklären.<br />
Ich verwende den Microsoft Visual C++ 2008 EE compiler. Komischerweise hat es mit Dev-C++ funktioniert.<br />
gruss</p>
<p>Lukas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588691</guid><dc:creator><![CDATA[Xbelt2]]></dc:creator><pubDate>Fri, 26 Sep 2008 20:11:56 GMT</pubDate></item><item><title><![CDATA[Reply to Expression: vector iterator not dereferencable on Fri, 26 Sep 2008 20:36:28 GMT]]></title><description><![CDATA[<p>Der Compiler sagt dir bestimmt auch in genau welcher Zeile das auftaucht. Wäre nett wenn du die mal markieren könntest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588699</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 26 Sep 2008 20:36:28 GMT</pubDate></item><item><title><![CDATA[Reply to Expression: vector iterator not dereferencable on Sat, 27 Sep 2008 07:06:08 GMT]]></title><description><![CDATA[<p>Hi,<br />
sorry vergessen. Naja das Problem ist, dass er beim kompilieren noch keinen Fehler gibt. Erst nacher beim debuggen oder ausführen.<br />
Ich hab mal die folgenden Zeilen auskommentiert und dann hats funktioniert:</p>
<pre><code class="language-cpp">const char *pos = &amp;source_code.front();
    const char *end = &amp;source_code.back() + 1;
</code></pre>
<p>Naja nur wie kann ich die Zeiger jetzt mal verwenden oder wie deklarier ich die richtig<br />
gruss</p>
<p>Lukas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588859</guid><dc:creator><![CDATA[Xbelt2]]></dc:creator><pubDate>Sat, 27 Sep 2008 07:06:08 GMT</pubDate></item><item><title><![CDATA[Reply to Expression: vector iterator not dereferencable on Sat, 27 Sep 2008 07:38:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;boost/spirit.hpp&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;vector&gt;
#include &lt;iterator&gt;
#include &lt;cctype&gt;

using namespace boost::spirit;
</code></pre>
<p>das sind noch die präprozessor direktiven</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588878</guid><dc:creator><![CDATA[Xbelt2]]></dc:creator><pubDate>Sat, 27 Sep 2008 07:38:57 GMT</pubDate></item><item><title><![CDATA[Reply to Expression: vector iterator not dereferencable on Sat, 27 Sep 2008 08:01:28 GMT]]></title><description><![CDATA[<p>Wenn der Fehler durch genau eine dieser beiden Zeilen verursacht wird, würde ich behaupten die Ursache ist (source_code.size() == 0).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588888</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Sat, 27 Sep 2008 08:01:28 GMT</pubDate></item><item><title><![CDATA[Reply to Expression: vector iterator not dereferencable on Sat, 27 Sep 2008 08:12:17 GMT]]></title><description><![CDATA[<p>merde bin ich blööööd^^<br />
vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588895</guid><dc:creator><![CDATA[Xbelt2]]></dc:creator><pubDate>Sat, 27 Sep 2008 08:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to Expression: vector iterator not dereferencable on Sun, 28 Sep 2008 08:51:57 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich hab da noch eine Frage^^. Ich habe einen text in einen Vektor geladen. Nun habe ich mit boost::spirit die folgende Regel definiert:</p>
<pre><code class="language-cpp">rule&lt;&gt; _str_print = strlit&lt;&gt;(&quot;print&quot;);
</code></pre>
<p>wenn ich jetzt:</p>
<pre><code class="language-cpp">if(parse(pos,end, _str_print).full)
    {
		cout &lt;&lt; &quot;Valid&quot;;
    }
	else {
		cerr &lt;&lt; &quot;Unknown command!&quot;;
}
</code></pre>
<p>mache kommt immer Unknown command, wenn im Vektor printprint drin steht. wie kann ich das lösen, dass er mir halt valid ausgibt und dass er es halt 2 mal findet.<br />
gruss</p>
<p>Lukas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1589470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589470</guid><dc:creator><![CDATA[Xbelt2]]></dc:creator><pubDate>Sun, 28 Sep 2008 08:51:57 GMT</pubDate></item><item><title><![CDATA[Reply to Expression: vector iterator not dereferencable on Sun, 28 Sep 2008 09:23:03 GMT]]></title><description><![CDATA[<p>indem du den kleene star benutzt:</p>
<pre><code class="language-cpp">rule&lt;&gt; _str_print = strlit&lt;&gt;(&quot;print&quot;);	
rule&lt;&gt; _multi_print = *_str_print; //keinmal oder beliebig oft &quot;print&quot;
rule&lt;&gt; _multi_print2 = +_str_print; //mindestens einmal &quot;print&quot;

//oder direkt beim parse-aufruf:
if(parse(pos,end, *_str_print).full)
    {
        cout &lt;&lt; &quot;Valid&quot;;
    }
    else {
        cerr &lt;&lt; &quot;Unknown command!&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1589482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1589482</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sun, 28 Sep 2008 09:23:03 GMT</pubDate></item></channel></rss>