Looks like you need to call
doc.parse<>();
on your input.
Try this:
vector<int> map::get_xml(){
file<> xmlFile("res/data.xml");
cout<<"XML loaded"<<endl;
xml_document<> doc;
doc.parse<0>(xmlFile.data());
xml_node<> *dims=doc.first_node("dimensions");
vector<int> values;
cout<<"Dimensions loaded"<<endl;
for(xml_node<> *dim=dims->first_node();dim;dim->next_sibling()){//breaks here
cout<<"Looping through attributes"<<endl;
values.push_back(atoi(dim->value()));
}
cout<<"All values loaded"<<endl;
return values;
}