or is not valid C++ : why does this code compile ?
bool operator != (Point p1, Point p2)
return p1.X != p2.X or p1.Y != p2.Y or p1.Z != p2.Z;
It’s part of the C++ standard. Unfortunately, Visual C++ doesn’t enable that part by default, and Microsoft’s answer to a bug report is “won’t fix, since nobody uses this.”
To fix Visual C++, you need to disable the Microsoft language extensions in the compiler, which can be done with the command line option
Alternatively, a simple workaround is to include the header
<ciso646> which defines these keywords for non-compliant compilers.
(I’m one of the few people who prefer this style, and I’m a bit angry at Microsoft for forcing me to use ASCII soup instead of clean, english words to make my code portable.)