Hmm, it looked like it was going to work and then I got this:
Savegame/Base.cpp: In member function ‘void OpenXcom::Base::load(const YAML::Node&, OpenXcom::SavedGame*, bool, bool)’:
Savegame/Base.cpp:180:6: error: no match for ‘operator=’ (operand types are ‘std::map<std::basic_string<char>, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, int> >}’ and ‘void’)
i = _items->getContents()->erase(i);
^
Savegame/Base.cpp:180:6: note: candidate is:
In file included from /usr/include/c++/4.8/set:60:0,
from /usr/include/yaml-cpp/stlemitter.h:11,
from /usr/include/yaml-cpp/yaml.h:10,
from Savegame/Target.h:22,
from Savegame/Base.h:20,
from Savegame/Base.cpp:20:
/usr/include/c++/4.8/bits/stl_tree.h:157:12: note: std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, int> >& std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, int> >::operator=(const std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, int> >&)
struct _Rb_tree_iterator
^
/usr/include/c++/4.8/bits/stl_tree.h:157:12: note: no known conversion for argument 1 from ‘void’ to ‘const std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, int> >&’
make: *** [../obj/Base.o] Error 1