Note that there are some explanatory texts on larger screens.

plurals
  1. POOverloaded << operator for a map
    primarykey
    data
    text
    <p>I am getting a very strange error even when the &lt;&lt; operator is overloaded for the below map, Feature.h is used by a class named Session.C and I am trying to print the values of the map tKeyboard using &lt;&lt;. I am new to all this and this being a very old code I am baffled about the issue, can you folks suggest some thing. Appreciate it thanks.</p> <p>Feature.h</p> <pre><code>class Feature { .. public: typedef map&lt;string,KeyStroke,std::less&lt;string&gt;,std::allocator&lt;std::pair&lt;const string, KeyStroke&gt; &gt; &gt; tKeyboard; // It is a map of keys // key is the name of the keystroke typedef tKeyboard::const_iterator cKeysIter; typedef tKeyboard::iterator KeysIter; .. private: friend ostream &amp;operator&lt;&lt;(ostream &amp;os,const tKeyboard &amp;); .. }; </code></pre> <p>Feature.C</p> <pre><code>ostream &amp;operator&lt;&lt;(ostream &amp;os,const Feature::tKeyboard &amp;k) { os &lt;&lt;" Keyboard &gt;\n"; for (Feature::cKeysIter i=k.begin() ; i!= k.end() ; i++) { os &lt;&lt; "key name:"&lt;&lt;(*i).first &lt;&lt; " ="&lt;&lt; (*i).second ; } return os; } </code></pre> <p>Session.C</p> <pre><code> if (keyStrokeVal.empty()){ Traced(3)&lt;&lt;"sendKey:Error, key "&lt;&lt;keyname&lt;&lt;" not defined or empty\n"; Traced(7)&lt;&lt;"Printing Feature "&lt;&lt;mCurrentFeature-&gt;get_mName() &lt;&lt;" 's keyboard \n" &lt;&lt; mCurrentFeature-&gt;get_mKeyboard(); Traced(7)&lt;&lt;"\n"; return(-1); } </code></pre> <p>Error:</p> <pre><code>Session.C:541: error: no match for âoperator&lt;&lt;â in âstd::operator&lt;&lt; [with _Traits = std::char_traits&lt;char&gt;](((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;)((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;*)std::operator&lt;&lt; [with _CharT = char, _Traits = std::char_traits&lt;char&gt;, _Alloc = std::allocator&lt;char&gt;](((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;)((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;*)std::operator&lt;&lt; [with _Traits = std::char_traits&lt;char&gt;](((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;)((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;*)((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;*)std::operator&lt;&lt; [with _Traits = std::char_traits&lt;char&gt;](((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;)((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;*)((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;*)std::operator&lt;&lt; [with _Traits = std::char_traits&lt;char&gt;](((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;)((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;*)std::operator&lt;&lt; [with _Traits = std::char_traits&lt;char&gt;](((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;)((std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;*)((std::ostream*)LogMgr::traceRovr())-&gt;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt; [with _CharT = char, _Traits = std::char_traits&lt;char&gt;](std::endl [with _CharT = char, _Traits = std::char_traits&lt;char&gt;]))), ((const char*)"Session.C")))), ((const char*)" ")))-&gt;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt; [with _CharT = char, _Traits = std::char_traits&lt;char&gt;](541))), ((const char*)" - ")))-&gt;std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt; [with _CharT = char, _Traits = std::char_traits&lt;char&gt;](out_time))), ((const char*)"Printing Feature ")))), ((const std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;)((const std::string*)((Session*)this)-&gt;Session::mCurrentFeature-&gt;Feature::get_mName()))))), ((const char*)" \'s keyboard \012")) &lt;&lt; ((Session*)this)-&gt;Session::mCurrentFeature-&gt;Feature::get_mKeyboard()â /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:108: note: candidates are: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::basic_ostream&lt;_CharT, _Traits&gt;&amp; (*)(std::basic_ostream&lt;_CharT, _Traits&gt;&amp;)) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:117: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::basic_ios&lt;_CharT, _Traits&gt;&amp; (*)(std::basic_ios&lt;_CharT, _Traits&gt;&amp;)) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:127: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::ios_base&amp; (*)(std::ios_base&amp;)) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:165: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(long int) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:169: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(long unsigned int) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:173: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(bool) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/bits/ostream.tcc:91: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(short int) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:180: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(short unsigned int) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/bits/ostream.tcc:105: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(int) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:191: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(unsigned int) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:200: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(long long int) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:204: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(long long unsigned int) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:209: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(double) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:213: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(float) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:221: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(long double) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:225: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(const void*) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/bits/ostream.tcc:119: note: std::basic_ostream&lt;_CharT, _Traits&gt;&amp; std::basic_ostream&lt;_CharT, _Traits&gt;::operator&lt;&lt;(std::basic_streambuf&lt;_CharT, _Traits&gt;*) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;] </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload