The information in this article applies to:
- The Microsoft C/C++ Compiler (CL.EXE), included with:
- Microsoft C for MS-DOS, versions 6.0, 6.0a, 6.0ax
- Microsoft C for OS/2, versions 6.0, 6.0a
- Microsoft C/C++ for MS-DOS, version 7.0
- Microsoft Visual C++ for Windows, versions 1.0, 1.5
- Microsoft Visual C++, 32-bit Edition, versions 1.0, 2.0, 4.0, 5.0
SYMPTOMS
An attempt to compile an application generates the following message:
C4047 'operator' : different levels of indirection
CAUSE
Here are some items that might cause this error:
- The code does not specify a required function prototype or the code does
not include the header file that contains the prototype,
- A reference to a variable is misspelled so that another variable is
referenced instead of the intended variable.
- The code assigns a pointer a value of another type without the
appropriate type cast.
When the code omits the function declaration/prototype, the compiler
creates a default prototype with "int" the assumed return type. When you
use the function the C4047 warning may occur; for example, if you assign
the function return value to a variable other than an int.
RESOLUTION
Modify the source code to eliminate the cause of the problem.
|