注意: 您仍然收到警告 C4768 」 訊息即使您停用警告,Visual C++ 中的使用警告 Pragma

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

167355
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
即使您使用警告 Pragma 停用警告,會產生類似下列的警告:
警告 C4786:
' std::rb_tree < CAiSpanningTree < 狀態 std::less <State>>:: TransClosureNode CAiSpanningTree < 狀態 std::less <State>>:: TransClosureNode,std::ident < Cai SpanningTree < 狀態 std::less <State>>:: TransClosureNode CAiSpanningTree < S tate,std::less <State>>:: TransClosureNode >,std::less < CAiSpanningTree < Stat e,std::less <State>>:: TransClosureNode > > ': 識別項被截斷成 '255 個' 字元的偵錯資訊
程式碼:
   #pragma warning(disable:4786)				
停用列出檔案和行號的警告。例如:
   C:\test\Text.cpp(25) : warning C4786:				
狀況說明
Microsoft 已確認這是在 < 適用於 > 一節中所列出的 Microsoft 產品中有錯誤。

這個問題已經獲得修正在 Microsoft Visual C++.NET。
其他相關資訊
您可以忽略此警告。不過,識別項可能無法存取或可在偵錯工具中檢視。

範例程式碼

   /*   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)      {}   };				

警告:本文已自動翻譯

內容

文章識別碼:167355 - 最後檢閱時間:02/22/2014 06:49:35 - 修訂: 3.0

  • 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++, 32-bit Learning Edition 6.0
  • kbnosurvey kbarchive kbmt kbbug kbcode kbcompiler kbfix kbnoupdate KB167355 KbMtzh
意見反應