Article ID: 167355
Article Last Modified on 10/3/2005
APPLIES TO
- Microsoft Visual C++ 5.0 Enterprise Edition
- Microsoft Visual C++ 6.0 Enterprise Edition
- Microsoft Visual C++ 5.0 Professional Edition
- Microsoft Visual C++ 6.0 Professional Edition
- Microsoft Visual C++ 6.0 Standard Edition
This article was previously published under Q167355
SYMPTOMS
Warnings similar to the following are generated even if you use the warning pragma to disable the warning:
The code:
#pragma warning(disable:4786)
disables warnings that list the file and line number. For example:
C:\test\Text.cpp(25) : warning C4786:
STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
This problem was corrected in Microsoft Visual C++ .NET.
MORE INFORMATION
This warning can be ignored. However, the identifier may not be accessible or viewable in the debugger.
Sample code
/* Compiler Options: /Zi */ #include <stddef.h> #include <new.h> #pragma warning(disable:4786) namespace std { template <class T, class U> struct ident {}; template <class T1, class T2> struct pair {}; template <class Arg1, class Arg2, class Result> struct binary_function {}; template <class T>struct less : binary_function<T, T, bool> {}; template <class T, class Distance> struct bidirectional_iterator {}; template <class Key, class Value, class KeyOfValue, class Compare> class rb_tree { public: typedef int size_type; typedef int difference_type; typedef void* link_type; struct rb_tree_node {}; typedef Key key_type; class iterator : public bidirectional_iterator<Value, difference_type> {}; class const_iterator : public bidirectional_iterator<Value,difference_type> { protected: link_type node; const_iterator(link_type x) : node(x) {} }; public: size_type count(const key_type& x) const; }; template <class Key, class Value, class KeyOfValue, class Compare> rb_tree<Key, Value, KeyOfValue, Compare>::size_type rb_tree<Key, Value, KeyOfValue, Compare>:: count(const Key& k) const { size_type n = 0; return n; }; template <class Key, class Compare> class set { typedef ::std::rb_tree<Key, Key,ident<Key, Key>, Compare> rep_type; rep_type t; }; } template <class Node, class Compare>class CAiTransitiveClosure{ public: typedef std::set<Node, Compare > NodeSet; NodeSet m_todo; }; template <class Node, class Compare> class CAiSpanningTree { public: typedef std::set<Node, Compare > NodeSet; protected: typedef Node CAiSpanningTreeNode; typedef NodeSet CAiSpanningTreeNodeSet; private: struct TransClosureNode {}; struct TransClosureGraph : public CAiTransitiveClosure<TransClosureNode, std::less<TransClosureNode> > {}; public: CAiSpanningTree(const Node& initialNode); CAiSpanningTree(const NodeSet& initialNodes); }; struct State { }; class CformSpanningTree:public CAiSpanningTree<State,std::less<State>> { public: CFormSpanningTree( NodeSet initial) : CAiSpanningTree<State, std::less<State> >(initial) {} };
Keywords: kbbug kbfix kbnoupdate kbcode kbcompiler KB167355