That's not C++ pain, that's neophyte developer pain. C++ pain is:
foobar.cpp: In function `int main()':
foobar.cpp:23: error: invalid conversion from `const char*' to `unsigned int'
foobar.cpp:23: error: initializing argument 1 of `std::vector<_Tp,
_Alloc>::vector(unsigned int) [with _Tp = std::map<std::string,
std::vector<std::map<std::string, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::string> > >, std::less<std::string>, std::allocator<std::pair<const
std::string, std::map<std::string, std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> > > > > >,
std::allocator<std::map<std::string, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::string> > >, std::less<std::string>, std::allocator<std::pair<const
std::string, std::map<std::string, std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> > > > > > > >,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::vector<std::map<std::string, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::string> > >, std::less<std::string>, std::allocator<std::pair<const
std::string, std::map<std::string, std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> > > > > >,
std::allocator<std::map<std::string, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::string> > >, std::less<std::string>, std::allocator<std::pair<const
std::string, std::map<std::string, std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> > > > > > > > > >
>, _Alloc = std::allocator<std::map<std::string,
std::vector<std::map<std::string, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::string> > >, std::less<std::string>, std::allocator<std::pair<const
std::string, std::map<std::string, std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> > > > > >,
std::allocator<std::map<std::string, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::string> > >, std::less<std::string>, std::allocator<std::pair<const
std::string, std::map<std::string, std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> > > > > > > >,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::vector<std::map<std::string, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::string> > >, std::less<std::string>, std::allocator<std::pair<const
std::string, std::map<std::string, std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> > > > > >,
std::allocator<std::map<std::string, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<const std::string,
std::string> > >, std::less<std::string>, std::allocator<std::pair<const
std::string, std::map<std::string, std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> > > > > > > > > > >
>]'