ANSI requires that the elipsis (...) declaration of a macro receives at least one parameter.
While some compilers also accepts no arguments for variable arguments (i.e. gcc) this is not true for all.
The best solution is to modify the macro in this way:
#define LogErr(...) Log(ERR, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__)
Because the
message parameter is alway present, satisfying the ellipsis, this solves the problem.