PRB: C4047 May Occur When a Function Prototype Is Omitted

ID Number: Q34859

5.00 5.10 6.00 6.00a 6.00ax | 5.00 5.10 6.00 6.00a

MS-DOS | OS/2

Summary:

SYMPTOMS

In Microsoft C versions 5.0, 5.1, 6.0, 6.0a, and 6.0ax, the

following compiler warning message may be generated:

C4047 'operator' : different levels of indirection

CAUSE

This can occur when a function prototype is not specified, when the

header file that contains the declaration is not included with the

#include directive, when a reference to a function is misspelled,

or when a pointer is assigned a value of a different type without

using an appropriate type cast.

When the function declaration is omitted, a default prototype is

created with a return type of int assumed. A later use of the

function then may cause the C4047 warning, such as assigning the

return value of the function to a non-int variable.

RESOLUTION

Double-check to make sure none of the above conditions are present.

Additional reference words: 5.00 5.10 6.00 6.00a 6.00ax