That’s a bug, possibly an incomplete port of some library code to cygwin (it’s a cplusplus11 feature) – some stuff has to be changed after all. Make sure to report it.
The solution is easy of course: #include <cstdlib> strtol(s.c_str(),0,10);
A similar mingw bug is mentioned also here