Apparently C++11 is more strict regarding default argument and return value conversions. Also return brace-initializer construction has had little support.
Also switch SimulationData from weird arrays to std::vector