I'm trying to set up a data-structure that can access and add arrays of four booleans when given a two-dimensional coordinate in the form of pair<int,int>.
code:
But when I try to compile it, I get an error that makes no sence.
error:
Which points me to the 9th line in this snippet from include\map:
which is gibberish to me.
Can someone tell me what is going on?
entire output:
code:
#include <map> #include <iostream> #include <algorithm> using namespace std; class Data{ private: map<pair<int,int>,bool[4]> datamap; public: bool* get(pair<int,int> in){ return datamap.at(in); } void add(pair<int,int> in, bool b[4]){ copy(b,b+4,datamap[in]); } }; int main(){ Data d; bool b[] = {true,false,true,false}; d.add(make_pair(0,0),B)/>/>/>/>; cout<<d.get(make_pair(0,0))<<endl; cin.get(); }
But when I try to compile it, I get an error that makes no sence.
error:
error C2440: '<function-style-cast>' : cannot convert from 'int' to 'bool [4]' c:\program files (x86)\microsoft visual studio 11.0\vc\include\map 198 1 robotTwo
Which points me to the 9th line in this snippet from include\map:
mapped_type& operator[](const key_type& _Keyval) { // find element matching _Keyval or insert with default mapped iterator _Where = this->lower_bound(_Keyval); if (_Where == this->end() || this->_Getcomp()(_Keyval, this->_Key(_Where._Mynode()))) _Where = this->insert(_Where, pair<key_type, mapped_type>( _Keyval, mapped_type())); return (_Where->second); }
which is gibberish to me.
Can someone tell me what is going on?
entire output:
1>------ Build started: Project: robotTwo, Configuration: Debug Win32 ------ 1> main.cpp 1>c:\program files (x86)\microsoft visual studio 11.0\vc\include\map(198): error C2440: '<function-style-cast>' : cannot convert from 'int' to 'bool [4]' 1> There are no conversions to array types, although there are conversions to references or pointers to arrays 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\map(191) : while compiling class template member function 'bool (&std::map<_Kty,_Ty>::operator [](const std::pair<_Ty1,_Ty2> &))[4]' 1> with 1> [ 1> _Kty=std::pair<int,int>, 1> _Ty=bool [4], 1> _Ty1=int, 1> _Ty2=int 1> ] 1> f:\school\taalderwiskunde\robottwo\robottwo\main.cpp(14) : see reference to function template instantiation 'bool (&std::map<_Kty,_Ty>::operator [](const std::pair<_Ty1,_Ty2> &))[4]' being compiled 1> with 1> [ 1> _Kty=std::pair<int,int>, 1> _Ty=bool [4], 1> _Ty1=int, 1> _Ty2=int 1> ] 1> f:\school\taalderwiskunde\robottwo\robottwo\main.cpp(8) : see reference to class template instantiation 'std::map<_Kty,_Ty>' being compiled 1> with 1> [ 1> _Kty=std::pair<int,int>, 1> _Ty=bool [4] 1> ] ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========