<?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[Mein Iterator lässt sich nicht kompilieren. Warum?]]></title><description><![CDATA[<p>Warum funktioniert das nicht?</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;
#include &lt;iostream&gt;
using namespace std;

struct my_iter {
      int i;
      static const int end = 10;
      my_iter(int start = end) : i(start) {}
      my_iter&amp; operator ++ () {
            if (i &lt; end) ++i;
            return *this;
      }
      my_iter&amp; operator * () { return *this; }
      bool operator != (const my_iter&amp; m) { return i != m.i; }
      operator int () { return i; }
};

int main()
{
      copy(my_iter(0), my_iter(), ostream_iterator&lt;int&gt;(cout, &quot; &quot;));
}
</code></pre>
<p>Ich kriege:</p>
<blockquote>
<p>1&gt;------ Build started: Project: iterator_test, Configuration: Debug Win32 ------<br />
1&gt;Compiling...<br />
1&gt;main.cpp<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C2039: 'iterator_category' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(2537) : see reference to class template instantiation 'std::iterator_traits&lt;_Iter&gt;' being compiled<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(21) : see reference to function template instantiation 'std::ostream_iterator&lt;_Ty&gt; std::copy&lt;my_iter,std::ostream_iterator&lt;_Ty&gt;&gt;(_InIt,_InIt,_OutIt)' being compiled<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Ty=int,<br />
1&gt; _InIt=my_iter,<br />
1&gt; _OutIt=std::ostream_iterator&lt;int&gt;<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C2146: syntax error : missing ';' before identifier 'iterator_category'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::iterator_category' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::iterator_category'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::iterator_category' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C2039: 'value_type' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C2146: syntax error : missing ';' before identifier 'value_type'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::value_type' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::value_type'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::value_type' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C2039: 'difference_type' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C2146: syntax error : missing ';' before identifier 'difference_type'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::difference_type' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::difference_type'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::difference_type' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C2039: 'pointer' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C2146: syntax error : missing ';' before identifier 'pointer'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::pointer' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::pointer'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::pointer' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C2039: 'reference' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C2146: syntax error : missing ';' before identifier 'reference'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::reference' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::reference'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::reference' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;Build log was saved at &quot;file://c:\Users\Zdravko\Documents\Visual Studio 2008\Projects\console\iterator_test\Debug\BuildLog.htm&quot;<br />
1&gt;iterator_test - 25 error(s), 0 warning(s)<br />
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/topic/204932/mein-iterator-lässt-sich-nicht-kompilieren-warum</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 19:43:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204932.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 Feb 2008 12:31:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mein Iterator lässt sich nicht kompilieren. Warum? on Fri, 08 Feb 2008 12:31:01 GMT]]></title><description><![CDATA[<p>Warum funktioniert das nicht?</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;
#include &lt;iostream&gt;
using namespace std;

struct my_iter {
      int i;
      static const int end = 10;
      my_iter(int start = end) : i(start) {}
      my_iter&amp; operator ++ () {
            if (i &lt; end) ++i;
            return *this;
      }
      my_iter&amp; operator * () { return *this; }
      bool operator != (const my_iter&amp; m) { return i != m.i; }
      operator int () { return i; }
};

int main()
{
      copy(my_iter(0), my_iter(), ostream_iterator&lt;int&gt;(cout, &quot; &quot;));
}
</code></pre>
<p>Ich kriege:</p>
<blockquote>
<p>1&gt;------ Build started: Project: iterator_test, Configuration: Debug Win32 ------<br />
1&gt;Compiling...<br />
1&gt;main.cpp<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C2039: 'iterator_category' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(2537) : see reference to class template instantiation 'std::iterator_traits&lt;_Iter&gt;' being compiled<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(21) : see reference to function template instantiation 'std::ostream_iterator&lt;_Ty&gt; std::copy&lt;my_iter,std::ostream_iterator&lt;_Ty&gt;&gt;(_InIt,_InIt,_OutIt)' being compiled<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Ty=int,<br />
1&gt; _InIt=my_iter,<br />
1&gt; _OutIt=std::ostream_iterator&lt;int&gt;<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C2146: syntax error : missing ';' before identifier 'iterator_category'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::iterator_category' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::iterator_category'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(764) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::iterator_category' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C2039: 'value_type' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C2146: syntax error : missing ';' before identifier 'value_type'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::value_type' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::value_type'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(765) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::value_type' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C2039: 'difference_type' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C2146: syntax error : missing ';' before identifier 'difference_type'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::difference_type' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::difference_type'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(766) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::difference_type' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C2039: 'pointer' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C2146: syntax error : missing ';' before identifier 'pointer'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::pointer' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::pointer'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(768) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::pointer' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C2039: 'reference' : is not a member of 'my_iter'<br />
1&gt; c:\users\zdravko\documents\visual studio 2008\projects\console\iterator_test\main.cpp(6) : see declaration of 'my_iter'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C2146: syntax error : missing ';' before identifier 'reference'<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C2602: 'std::iterator_traits&lt;_Iter&gt;::reference' is not a member of a base class of 'std::iterator_traits&lt;_Iter&gt;'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt; c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : see declaration of 'std::iterator_traits&lt;_Iter&gt;::reference'<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;c:\program files\microsoft visual studio 9.0\vc\include\xutility(769) : error C2868: 'std::iterator_traits&lt;_Iter&gt;::reference' : illegal syntax for using-declaration; expected qualified-name<br />
1&gt; with<br />
1&gt; [<br />
1&gt; _Iter=my_iter<br />
1&gt; ]<br />
1&gt;Build log was saved at &quot;file://c:\Users\Zdravko\Documents\Visual Studio 2008\Projects\console\iterator_test\Debug\BuildLog.htm&quot;<br />
1&gt;iterator_test - 25 error(s), 0 warning(s)<br />
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1451914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1451914</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Fri, 08 Feb 2008 12:31:01 GMT</pubDate></item><item><title><![CDATA[Reply to Mein Iterator lässt sich nicht kompilieren. Warum? on Fri, 08 Feb 2008 12:37:43 GMT]]></title><description><![CDATA[<p>Also, das hat mich gerettet:</p>
<pre><code class="language-cpp">struct my_iter : public iterator&lt;forward_iterator_tag, my_iter&gt;
</code></pre>
<p>Nun, frage ich mich, ob es möglich ist diese idiotische Iterator-Checks einzustellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1451922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1451922</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Fri, 08 Feb 2008 12:37:43 GMT</pubDate></item><item><title><![CDATA[Reply to Mein Iterator lässt sich nicht kompilieren. Warum? on Fri, 08 Feb 2008 13:09:23 GMT]]></title><description><![CDATA[<p>von was für checks sprichst du?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1451953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1451953</guid><dc:creator><![CDATA[lolz_ausgeloggt]]></dc:creator><pubDate>Fri, 08 Feb 2008 13:09:23 GMT</pubDate></item><item><title><![CDATA[Reply to Mein Iterator lässt sich nicht kompilieren. Warum? on Fri, 08 Feb 2008 13:20:35 GMT]]></title><description><![CDATA[<p>lolz_ausgeloggt schrieb:</p>
<blockquote>
<p>von was für checks sprichst du?</p>
</blockquote>
<p>Die Eingabeparameter werden nach irgendeinem Kriterium geprüft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1451963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1451963</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Fri, 08 Feb 2008 13:20:35 GMT</pubDate></item><item><title><![CDATA[Reply to Mein Iterator lässt sich nicht kompilieren. Warum? on Fri, 08 Feb 2008 13:21:44 GMT]]></title><description><![CDATA[<p>Die Algorithmen brauchen einfach ein paar Infos über das was in dem Iterator drinsteckt. Das musst Du entweder selbst liefern oder per Ableitung von std::iterator verfügbar machen. Mit Checks hat das nichts zu tun.</p>
<p>EDIT:</p>
<p>Zdravko schrieb:</p>
<blockquote>
<p>lolz_ausgeloggt schrieb:</p>
<blockquote>
<p>von was für checks sprichst du?</p>
</blockquote>
<p>Die Eingabeparameter werden nach irgendeinem Kriterium geprüft.</p>
</blockquote>
<p>Ja, z.B. daraufhin ob man effizient springen (random-access) oder nur vorwärts laufen (forward) kann, um bestimmte Optimierungen zu ermöglichen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1451964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1451964</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 08 Feb 2008 13:21:44 GMT</pubDate></item><item><title><![CDATA[Reply to Mein Iterator lässt sich nicht kompilieren. Warum? on Fri, 08 Feb 2008 16:13:56 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Die Algorithmen brauchen einfach ein paar Infos über das was in dem Iterator drinsteckt. Das musst Du entweder selbst liefern oder per Ableitung von std::iterator verfügbar machen. Mit Checks hat das nichts zu tun.</p>
<p>EDIT:</p>
<p>Zdravko schrieb:</p>
<blockquote>
<p>lolz_ausgeloggt schrieb:</p>
<blockquote>
<p>von was für checks sprichst du?</p>
</blockquote>
<p>Die Eingabeparameter werden nach irgendeinem Kriterium geprüft.</p>
</blockquote>
<p>Ja, z.B. daraufhin ob man effizient springen (random-access) oder nur vorwärts laufen (forward) kann, um bestimmte Optimierungen zu ermöglichen...</p>
</blockquote>
<p>Hmm, das ist neu für mich. Kannst du Beispiele nennen wo man die Infos selbst liefert? Oder per Ableitung macht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452086</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Fri, 08 Feb 2008 16:13:56 GMT</pubDate></item><item><title><![CDATA[Reply to Mein Iterator lässt sich nicht kompilieren. Warum? on Fri, 08 Feb 2008 16:30:15 GMT]]></title><description><![CDATA[<p>Naja in Deinem Fall hast Du z.B. über die Ableitung erreicht, dass my_iter::iterator_category existiert und vom Typ forward_iterator_tag ist. Wenn jetzt ein Algorithmus wie distance eingesetzt wird, kommt eine Version zum Einsatz, die durch inkrementieren herausfindet wieviele Elemente zwischen zwei Iteratoren existieren. Wäre die Kategorie nun random_access_iterator_tag, würde eine Version von distance eingesetzt, die die Anzahl durch Subtraktion herausfindet.</p>
<p>Würdest Du nicht ableiten, müsstest Du in der Klasse ein typedef std::forward_iterator_tag iterator_category machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452097</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 08 Feb 2008 16:30:15 GMT</pubDate></item><item><title><![CDATA[Reply to Mein Iterator lässt sich nicht kompilieren. Warum? on Fri, 08 Feb 2008 16:38:51 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Würdest Du nicht ableiten, müsstest Du in der Klasse ein typedef std::forward_iterator_tag iterator_category machen.</p>
</blockquote>
<p>Das finde ich schon gut. Danke für die Erklärung! Die C++ Sprache ist so breit. Man lernt ständig neue Sachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452101</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Fri, 08 Feb 2008 16:38:51 GMT</pubDate></item></channel></rss>