I recently got the following error when trying to compile with gcc:
error: missing binary operator before token \"(\"
Web and SO
If you are on Linux, make sure that you do not have a header named features.h inside your project files.
I had one with this name, which resulted in:
/usr/include/x86_64-linux-gnu/bits/huge_val.h:25: error: function pointer expected
or
/usr/include/bits/huge_val.h:26:18: error: missing binary operator before token "("
That is because some system headers like huge_val.h use macros like __GNUC_PREREQ that are defined by /usr/include/features.h (learn more about this header in this SO question).
In my case I first saw this error when I started to use gcc's -I option which suddenly made gcc select my project include directory before the default system include directories.