PCL C2988 unrecognizable template declaration/definition Visual Studio 2017

If you get this compile error:

Error C2988 unrecognizable template declaration/definition

When you:

#include 

from the Point Cloud Library (PCL) in Visual Studio 2017, then either throw the following in before the #include, like this:

//
#define BOOST_TYPEOF_EMULATION
#include 

or upgrade your version of Visual Studio 2017 (I haven’t tested this yet myself!)

Not sure why, it’s something to do with workarounds for VS 2017 bugs or something…