The Windows ICC 16.0.2 compiler (using VS2015 update 1) is failing at run time when allocating an array of shared_ptr. The error is an Access Violation. Meanwhile, compiling with just the msvc compiler worked.
Stepping through the code didn’t show anything obvious. So I tried converting the raw array of shared_ptr (*shared_ptr<T>) to a std::vector of shared_ptr (std::vector<std::shared_ptr<T>>. I was able to move forward in execution. But I ended up crashing later due to the same issue in another piece of code.