thanks for your help!

Though, now the compiler says:

Code:
FileUtils.cpp: In member function `void FileUtils::loadAnimals(const std::vector<Animal*, std::allocator<Animal*> >&, const char*)':
FileUtils.cpp:91: passing `const std::vector<Animal*, std::allocator<Animal*> >' 
as `this' argument of 
`void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = Animal*, _Alloc = std::allocator<Animal*>]' discards qualifiers
about this line:

Code:
Animal *animal;
...
...
animal = new Dog();
...
animals.push_back(animal);  <- this line