Really Silly Question I Think
-
I'm relatively new to C++ programming which i'm sure this question will demonstrate... I want to use vector's in an MFC dialog application that AppWizard generated for me, I added #include but when I declare vector vTest; I get an error saying that the type is not found... So I tried adding a "using namespace std;" and it said it can't find the namespace std... What am I doing wrong??? :confused: Thanks, William
-
I'm relatively new to C++ programming which i'm sure this question will demonstrate... I want to use vector's in an MFC dialog application that AppWizard generated for me, I added #include but when I declare vector vTest; I get an error saying that the type is not found... So I tried adding a "using namespace std;" and it said it can't find the namespace std... What am I doing wrong??? :confused: Thanks, William
Let me start by saying congratulations for using the STL. I was not so smart when I was starting and am only learning it now. A vector, like any array, needs to know what it is going to hold. I don't know if you're familair with templates, but they essentially allow you to specify a type as a parameter. To specify a vector of int's, you must do this: vector m_MyIntVector; Having #included vector, you can remove using namespace std if you want to. Christian #include "std_disclaimer.h" People who love sausage and respect the law should never watch either one being made. The things that come to those who wait are usually the things left by those who got there first.
-
Let me start by saying congratulations for using the STL. I was not so smart when I was starting and am only learning it now. A vector, like any array, needs to know what it is going to hold. I don't know if you're familair with templates, but they essentially allow you to specify a type as a parameter. To specify a vector of int's, you must do this: vector m_MyIntVector; Having #included vector, you can remove using namespace std if you want to. Christian #include "std_disclaimer.h" People who love sausage and respect the law should never watch either one being made. The things that come to those who wait are usually the things left by those who got there first.
Ok - You have to say what the vector is going to hold. So, vector myVector; // Will not work.. Try using; vector myVector; vector myVector; vector myVector; ...etc I am going to venture a guess you are coming from Java-land, where you just say Vector myVector; then you can stick anything in there.. STL is more type safe than Java containers.. Good luck Vivke
-
I'm relatively new to C++ programming which i'm sure this question will demonstrate... I want to use vector's in an MFC dialog application that AppWizard generated for me, I added #include but when I declare vector vTest; I get an error saying that the type is not found... So I tried adding a "using namespace std;" and it said it can't find the namespace std... What am I doing wrong??? :confused: Thanks, William
When U are using the MFC there are lot many classes are there which gives the functionality of vector. Carray, CList, SafeArray like somay classes are there. U can Initiliza the classes and use it directly in your program. If you are not using MFC then inclede all the std header files. :)
-
Ok - You have to say what the vector is going to hold. So, vector myVector; // Will not work.. Try using; vector myVector; vector myVector; vector myVector; ...etc I am going to venture a guess you are coming from Java-land, where you just say Vector myVector; then you can stick anything in there.. STL is more type safe than Java containers.. Good luck Vivke
DUH - I knew Christian coulndt have overlooked the < int > in the template.. I didnt realize I was writing HTML in the post window. (Definitely confusing) Anyway, here goes.. Use; vector < int > ; or vector < float * > etc.. Tips , use the > and < for the < and > signs
-
DUH - I knew Christian coulndt have overlooked the < int > in the template.. I didnt realize I was writing HTML in the post window. (Definitely confusing) Anyway, here goes.. Use; vector < int > ; or vector < float * > etc.. Tips , use the > and < for the < and > signs
Duh - that gets me every time. I obviously didn't look at my post. < > (just testing) Christian who just swapped PC's with Taylor
-
When U are using the MFC there are lot many classes are there which gives the functionality of vector. Carray, CList, SafeArray like somay classes are there. U can Initiliza the classes and use it directly in your program. If you are not using MFC then inclede all the std header files. :)
When U are using the MFC there are lot many classes are there which gives the functionality of vector. I realise that there are people here who do not speak English as a first language, but fair dinkum - 'there are a lot many classes are there' ??? 'like somay classes are there' ??? 'Initiliza' ??? Carray, CList, SafeArray like somay classes are there. U can Initiliza the classes and use it directly in your program. If you are not using MFC then inclede all the std header files. To use CArray ( which is the same as a vector in it's O notation behaviour ( STL is defined in terms of O notation - vector was obviously meant to be an array, but it does not HAVE to be if someone comes up with a better idea )) you need to use tempplate arguments, you actually need to specify two rather than one. CList impliments a list, like deque. A list has totally different behaviour to an array in terms of speed ( quicker to remove items in the middle, slower to find them ). If you are not using MFC then you do not have CArray/CList/CSafeArray, unless there are alternate versions in the ATL headers. Either way, the STL is more powerful, more flexible and cross platform. I recommend you use the MFC classes for the sake of learning them, but stick to STL. I also recommend you write your own list and array class, just to get a good idea of what goes on under the hood, but still use STL. I recommend the person who wrote this reply also learn the difference between container types and consider learning the STL. Christian logged in as Alex
-
When U are using the MFC there are lot many classes are there which gives the functionality of vector. I realise that there are people here who do not speak English as a first language, but fair dinkum - 'there are a lot many classes are there' ??? 'like somay classes are there' ??? 'Initiliza' ??? Carray, CList, SafeArray like somay classes are there. U can Initiliza the classes and use it directly in your program. If you are not using MFC then inclede all the std header files. To use CArray ( which is the same as a vector in it's O notation behaviour ( STL is defined in terms of O notation - vector was obviously meant to be an array, but it does not HAVE to be if someone comes up with a better idea )) you need to use tempplate arguments, you actually need to specify two rather than one. CList impliments a list, like deque. A list has totally different behaviour to an array in terms of speed ( quicker to remove items in the middle, slower to find them ). If you are not using MFC then you do not have CArray/CList/CSafeArray, unless there are alternate versions in the ATL headers. Either way, the STL is more powerful, more flexible and cross platform. I recommend you use the MFC classes for the sake of learning them, but stick to STL. I also recommend you write your own list and array class, just to get a good idea of what goes on under the hood, but still use STL. I recommend the person who wrote this reply also learn the difference between container types and consider learning the STL. Christian logged in as Alex
> U can Initiliza the classes Looks like gangsta rap ;P Tomasz Sowinski -- http://www.shooltz.com.pl