Приветсвую!
class Dir {
typedef map<string,Dir*> dir_t;
public:
void print(int spaces);
Dir* add_subdir(const string& name);
private:
dir_t subdirs;
};
Dir* Dir::add_subdir(const string& name){
dir_t::iterator it;
bool inserted;
pair<dir_t::iterator,bool>(it,inserted)=subdirs.insert(pair<string,Dir*>(name,static_cast<Dir*>(NULL)));
if(inserted==true){
it->second=new Dir();
}
return it->second;
}
GCC нормально компилит и выполняет, VS Express компилит, но при за пуске выдает:
Debug Assertion Failed!
Expression map/set iterator not dereferencable.
Подскажите в чем затык и как быть? Спасибо!