I am having 2 problems 1) in the statement "class SVector:public list<T>" T is not recognized as per the messages:
svector.c++:21: error: expected template-name before ‘<’ token
svector.c++:21: error: expected `{' before ‘<’ token
svector.c++:21: error: expected unqualified-id before ‘<’ token
2) I can not get the compiler (gcc 4.3.2) to setup typedefs for iterators as per the messages:
svector.c++:36: error: invalid use of template-name ‘std::iterator’ without an argument list
Expand|Select|Wrap|Line Numbers
- #include <iostream>
- #include <vector>
- using namespace std;
- template <typename T>
- class SVector:public list<T>
- {
- typedef typename list<T>::iterator iterator;
- typedef typename list<T>::const_iterator const_iterator;
- SVector() : list<T> v() {}
- ~SVector() { delete v; }
- .
- .
- .
- private:
- iterator bsearch(iterator, iterator, T)
- iterator isearch(iterator, iterator, T)
- }
- iterator Svector::isearch(iterator low, iterator high, Type item)
- {
- iterator P;
- for (p = low; (*p < item) && (p != high); p++;)
- return p;
- }
Phillip Wyckoff