Compiler Warning (level 1) C4042
'identifier' : has bad storage class
The specified storage class cannot be used with this identifier in this context. The compiler uses the default storage class instead:
extern
, if identifier is a function.auto
, if identifier is a formal parameter or local variable.No storage class, if identifier is a global variable.
This warning can be caused by specifying a storage class other than register
in a parameter declaration.
The following sample generates C4042
// C4042.cpp
// compile with: /W1 /LD
int func2( __declspec( thread ) int tls_i ) // C4042
// try the following line instead
// int func2( int tls_i )
{
return tls_i;
}
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for