Nonstandard syntax errors are those errors committed by a programmer, that are not against the standard language of C++ like syntax errors but invalidates the program function from being executed.
More defined explanation and other cause
C3867 " 'Integer::toInt': non-standard syntax; use '&' to create a pointer to member" in Double.cpp
For instance, the error means that the programmer passed/ used a variable “val-toInt” instead of calling the function “val-toInt”. To call a function means executing it without using parenthesis.
Non-standard error in C++ means the wrong use of codes while making a program at the initial stage by using the object of the class to call a function directly.
Another reason for the cause of non-standard errors is that functions change to pointers in the compiler error if it uses them without parenthesis. This means that a function without parenthesis is not executable. Using a function without calling it denoted by parenthesis ( ) or using the address of syntax (&) which is non-standard will produce the error.
This is more likely a syntax error. So you have to be attentive and make sure you don’t make any syntax error within your C++ program.
Hope this helps.