Compiler Error C2357
'identifier' : must be a function of type 'type'
Your code declares a version of the atexit
function that does not match the version declared internally by the compiler. Declare atexit
as follows:
int __cdecl atexit(void (__cdecl *)());
For more information, see init_seg.
The following sample generates C2357:
// C2357.cpp
// compile with: /c
// C2357 expected
#pragma warning(disable : 4075)
// Uncomment the following line to resolve.
// int __cdecl myexit(void (__cdecl *)());
#pragma init_seg(".mine$m",myexit)