C++ author, trainer
Savvy C++ programmers should be able to make the switch to FP. They have been using FP unknown to themselves (STL, boost function, lambda). Many design patterns (e.g. Visitor) are workarounds for constructs in FP.Good question! I'm going to sit right down and write an answer. Need a few days.
Generalising "does C++ prepare you for the functional programming onslaught?"
And having a maths background is useful as well as the 'cinderella' Category Theory.
But FP will never overturn C++. C++ 11 and Boost will evolve into and/or subsume FP IMO.