Hey StefanHohnwald,
https://docs.unrealengine.com/latest/INT/Programming/Development/CodingStandard/index.html
As stated in the Coding Standard for Unreal:
C++11 and Modern Language Syntax
Unreal Engine is built to be massively portable to many C++ compilers, so we are careful to use features that are compatible with the compilers we can imagine supporting. Sometimes features are so useful that we will wrap them up in macros and use them pervasively, but usually we will wait until all of the compilers we could imagine supporting are up to the latest standard.
We are utilizing certain C++11 language features that appear to be well-supported across modern compilers, such as range-based-for, move semantics and lambdas. In some cases, we are able to wrap up usage of these features in preprocessor conditionals (such as rvalue references in containers.) However, certain language features we may opt to avoid entirely until we are confident we will not be surprised by a new platform appearing that cannot digest the syntax.
Unless specified below as a modern C++ compiler feature we are supporting, you should refrain from using compiler-specific language features unless they are wrapped in preprocessor macros or conditionals and used sparingly.
To me, this is explaining that unless you want to do a lot of preprocessor work, you will have to use Unreal Engines coding standard, which is C++ 11. (I don’t think it will be as easy as changing a single compiler flag and everything will continue to work)