How to use the #pragma message to generate user-defined warning messages in Visual C++

Article translations Article translations
Article ID: 155196 - View products that this article applies to.
This article was previously published under Q155196
Expand all | Collapse all

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."

Properties

Article ID: 155196 - Last Review: June 2, 2005 - Revision: 4.0
APPLIES TO
  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 1.5 Professional Edition
  • Microsoft Visual C++ 1.51
  • Microsoft Visual C++ 1.52 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 2.2
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 4.1 Subscription
  • Microsoft Visual C++ 4.2 Enterprise Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 4.2 Professional Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
Keywords: 
kberrmsg kbhowto kbinfo kbide kblangc KB155196

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com