STL help

WarLord

New member
STL help ../images/Emo53.gif

אני מתחיל ללמוד STL ונתקלתי בבעיה מוזרה מאוד. הקוד הבא לא מתקמפל:
#include <vector> void main() { vector<int> v; }​
קוד יותר פשוט מזה - אין. הודעת השגיאה המתקבלת:
Compiling... vec.cpp d:\data\srl2\vec.cpp(3) : error C2065: ´vector´ : undeclared identifier d:\data\srl2\vec.cpp(3) : error C2062: type ´int´ unexpected Error executing cl.exe. vec.obj - 2 error(s), 0 warning(s)​
יש למישהו מושג למה ?
 

galh

New member
STL namespace is std

רוב הספריות שממשות את ה- STL של ++C מגדירות את ה- namespace בתור std. כלומר, התוכנית שלך צריכה להכתב:
<pre> #include <vector> using namespace std; int main() { vector<int> v; return 0; } </pre>​
או
<pre> #include <vector> int main() { std::vector<int> v; return 0; } </pre>​
 

חובבן

New member
הכל נכון, ועוד

בגירסא הקודמת של ה STL, שעדיין נתמכת ברב הקומפיילרים ניתן להשתמש ב vector.h שכולל את ה template בלי שימוש ב namespace. גישה זאת פחות טובה אבל נדרשת לפעמים.
 
למעלה