Возвращение итератора по вектору шаблона

Я искал что-то подобное, но не смог его найти (или то, что я нашел, не было) т полезно). Я пытаюсь иметь итератор по вектору класса шаблона, возвращать его и использовать вне класса, как показано в приведенном ниже коде.

#include 
#include 

using namespace std;

namespace ns {

 template 
 class test {

  private:
   vector container;

  public:
   typedef vector::iterator iterator;

   vector::iterator begin() {
    return container.begin();
   }

   vector::iterator end() {
    return container.end();
   }

 }

};

int main(void) {
 test inters;

 for (ns::test::iterator i = inters.begin(); i != inters.end(); i++) {
  // bla bla bla
 }

 cout << "end" << endl;
 return 0;
}

(вы также можете проверить код здесь: http://codepad.org/RuXCYF6T )

Я получаю следующую ошибку в строке 15:

error: type '__gnu_debug_def::vector<_Tp, std::allocator<_CharT> >' is not derived from type 'ns::test'
compilation terminated due to -Wfatal-errors.

Спасибо заранее.

5
задан takecare 18 October 2011 в 16:21
поделиться