В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Ошибка: Продолжают появляться «C4768» предупреждение даже в том случае, если отключить предупреждение в Visual C++ с помощью прагма-директивы warning

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:167355
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Проблема
Примерно следующего предупреждения создаются даже в том случае, если вы для отключения этого предупреждения используйте прагма-директиву warning:
Предупреждение C4786:
"std::rb_tree<><><state>>:: TransClosureNode, CAiSpanningTree<><state></state></>>:: TransClosureNode, std::ident<cai></cai><><state></state></>>:: TransClosureNode, CAiSpanningTree<s><state></state></s>>:: TransClosureNode >, std::less<><stat><state></state></stat>>:: TransClosureNode >> ": идентификатор усечение «255» символов в отладочной информации<b00></b00></state>
Код:
   #pragma warning(disable:4786)				
Отключает предупреждения, в которых перечислены файла и номер строки. Например:
   C:\test\Text.cpp(25) : warning C4786:				
Статус
Корпорация Майкрософт подтверждает, что это является ошибкой в продуктах Майкрософт, перечисленных в разделе «Относится к».

Эта ошибка была исправлена в 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/23/2014 01:07:44 — редакция: 4.0

Microsoft Visual C++ 5.0 Enterprise Edition, Microsoft Visual C++ 5.0 Professional Edition

  • kbnosurvey kbarchive kbbug kbcode kbcompiler kbfix kbnoupdate kbmt KB167355 KbMtru
Отзывы и предложения