warning מוזר ב-C++

Nי cוני

New member
warning מוזר ב-C++

אני משתמשת ב-set של STL. אני עושה #include <set> ואח"כ מגדירה טיפוס typedef set< int > varset; ואח"כ מגדירה אובייקט: varset domain[vars]; והוא נותן לי אזהרה ממש מוזרה: warning C4786: 'std::pair<std::_Tree<int,int,std::set<int,std::less<int>,std::allocator<int> >::_Kfn,std::less<int>,std::allocator<int> >::const_iterat or,std::_Tree<int,int,std::set<int,std::less<int>,std::allocator<int> >::_Kfn,std::less<int>,std::allocator<int> >::const_iterator>' : identifier was truncated to '255' characters in the debug information אמנם זה רק warning, אבל יכול להיות שזה מה שגורם לי לבעיות בתוכנית. מה הוא רוצה???
 

DadleFish

New member
זה לא עושה לך שום בעיות בתוכנית

ה-warning הזה מבשר לך ששם ה-type גדול מ-255 תווים, ולכן הוא יקוצץ כשהוא יישמר כ-debug information בקובץ ה-EXE. אין לכך שום השפעה על הריצה, ואת יכולה להתעלם מזה. אם יש לך בעיות, אל תחפשי אותן בהערה הזו.
 

annefan

New member
נכון, והערה

את יכולה לכתוב
#pragma warning( disable : 4786 )​
כדי שהקומפיילר לא ידפיס אותה. אבל, ב-VC6 היה באג, שהוא ביב מדפיס אותה בכל זאת, אם היא לא נמצאת ממש ממש בתחילת הקובץ, לפני כל ה-includes. אז, שימי את זה בהתחלה.
 
למעלה