HOWTO: Use #pragma to Generate User-Defined Warning Messages

ID: Q155196


The information in this article applies to:
  • Microsoft Visual C++ for Windows, 16-bit edition, versions 1.0, 1.5, 1.51, 1.52
  • Microsoft Visual C++, 32-bit Editions, versions 2.0, 2.1, 2.2, 4.0, 4.1, 4.2, 5.0, 6.0


SUMMARY

In some instances, you may find it advantageous to have the compiler generate user-defined warning messages such as the following:

collisions.cpp(1) : Warning Msg: Need to do 3-D collision checking
When such a warning is generated by the compiler and displayed in the Developer Studio's Output window, you can double-click on the warning message to get to the line of code with the message.


MORE INFORMATION

The following code illustrates how to use the #pragma message to force the compiler to generate the above warning message. Note the spacing around the colons in the third #define statement. The Visual Workbench that ships with the 16-bit versions of Visual C++ does not recognize a double-click in the Output window unless the proper spacing exists between the colons.


// collisions.h
#define __STR2__(x) #x
#define __STR1__(x) __STR2__(x)
#define __LOC__ __FILE__ "("__STR1__(__LINE__)") : Warning Msg: "

// collisions.cpp
#pragma message(__LOC__"Need to do 3D collision testing") 


REFERENCES

For additional information concerning the #pragma message directive, see the Visual C++ Help file; Search on: "message (pragma directive)."

For additional information concerning the __FILE__ and __LINE__ predefined macros, see the Visual C++ Help file; Search on: "predefined macros," Topic: "Preprocessor Reference," and click on "ANSI."

Additional query words:

Keywords : kbide kbLangC kbVC100 kbVC150 kbVC151 kbVC152 kbVC200 kbVC210 kbVC220 kbVC400 kbVC410 kbVC420 kbVC500 kbVC600
Version : WIN3X:1.5,1.51,1.52;WINNT:2.0,2.1,2.2,4.0,4.1,4.2,5.0
Platform : NT WINDOWS
Issue type : kbhowto


Last Reviewed: July 21, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.