I just play with the new VS 2012, and I have a problem, probably with the new C ++ 11. This code code works fine when I install the platform toolkit for VS2010 (v100) in the project settings.
.h:
typedef std::multimap<unsigned, unsigned> SizeMap; typedef std::map<unsigned, unsigned> OffsetMap; private: inline void _RemoveBlockL(SizeMap::iterator sizeI); inline void _RemoveBlockL(OffsetMap::iterator offsetI);
.cpp
inline void Foo::_RemoveBlockL(SizeMap::iterator sizeI) { // impementation } inline void Foo::_RemoveBlockL(OffsetMap::iterator offsetI) { // impementation }
But when I change this for VS2012 (v110), I will get the following error:
Error 61 error C2535: 'void Boo::system::Foo::_RemoveBlockL(std::_Tree_iterator<_Mytree>)' : member function already defined or declared D:\_work\wp-test\boo\system\foo.h
Why does overload not work in VC ++ 11?
source share