Compiler Warning (level 1) C4353

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Compiler Warning (level 1) C4353.

nonstandard extension used: constant 0 as function expression. Use '__noop' function intrinsic instead

You cannot use the constant zero (0) as a function expression. For more information, see __noop.

The following sample generates C4353:

// C4353.cpp  
// compile with: /W1  
void MyPrintf(void){};  
#define X 0  
#if X  
   #define DBPRINT MyPrint  
#else  
   #define DBPRINT 0   // C4353 expected  
#endif  
int main(){  
DBPRINT();  
}  

Show: