SUMMARY
The information in this article is included in the documentation starting
with Visual C++ 5.0. Look there for future revisions.
When a function name declared in your program is used without
parentheses, the compiler does not produce any code. The compiler may
not produce error messages or warnings as long as the function has
been prototyped. This occurs regardless of whether or not the function
takes parameters because the compiler calculates the function address;
however, because the function call operator "()" is not present, no
call is made. This result is similar to the following:
int a;
a; /* no code generated here either */
In Microsoft C versions 6.0, 6.0a, and 6.0ax, the following warning is
generated on warning level 4:
warning C4205: statement has no effect
In Microsoft C/C++ version 7.0, 16-bit Visual C++ version 1.XX, and 32-bit
Visual C++ version 1.0, using warning level 4 generates the following:
warning C4705: statement has no effect with /W4
The warning is only generated when compiling with the optimizing compiler
and does not occur if the fast (/f) compiler is used.
In Microsoft 32-bit Visual C++ versions 2.0 and above, even using warning
level 4 generates no diagnostic output. No warning issued, no code is
produced.