Compiler Warning (level 1) C4658

'function' : function prototype is new since the last build, or is declared differently elsewhere

You added or changed a function prototype, making its return type, parameter list, or other declaration attribute new to your source code since the last successful build. Edit and Continue only supports a new or changed function prototype if the same prototype is used by another function that was present in your source code during the latest build.

To remove this warning without ending the current debug session, change the function prototype back to its state before it produced this warning. Then select the Apply Code Changes command on the Debug menu.

To remove this warning without changing your source code, stop the current debug session by selecting Stop Debugging from the Debug menu.  Select Build from the Build menu.  After a successful build, you may debug the current source code.

If you did not change this function prototype, look for other declarations of this function in your source code. You may find that one of the declarations is different from the declaration referenced by this warning. Change one of the declarations to match the other.

This warning will always be followed by a C1092 error.  For further information, see the Limitations of Edit and Continue.

To generate this warning, debug the following code snippet.  While the debugger is running, change the return type of func1 from void to int and remove the comment in func1.  Then click Apply Code Changes on the Debug menu.

void func1()
{
   int m_val = 1;
   //return m_val;
}

void main()
{
func1();
}