Форум программистов, компьютерный форум CyberForum.ru

vector<T> template vector<T>::iterator - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ms vs 2010 http://www.cyberforum.ru/cpp-beginners/thread300907.html
компилирую в vs ultimate 2010 #include "stdafx.h" #include "windows.h" #include "stdio.h" #include "incl.h" void nullstruc(statep &struc1); void rcoin(statep &struc1); void crpost(statep &struc1);
C++ mfc dll как создать mfc dll в ms vs 2008? http://www.cyberforum.ru/cpp-beginners/thread300895.html
C++ Создать новую матрицу
Есть такая задача: Есть квадратная матрица В(А,А).Создать новую матрицу, с данной в результате умножения всех элементов каждого рядка, кроме первого, на его первой элемент, та деления всех элементов каждого столбца, кроме первого, на его первой элемент. Помогите! Не знаю как это реализовать.
элементы класса наследования в мэйне C++
Есть класс class File { public: struct comp { char num; // Имя переменной char st; // Значение переменной char time; comp* next; //Ссылка на следущий элемент списка
C++ Цисла в строке http://www.cyberforum.ru/cpp-beginners/thread300887.html
Народ, подскажите Как посчитать колличество чисел в строке через С++??
C++ Работа с заголовочным файлом Здравствуйте! В папке лежит несколько файлов: main.cpp, dualsimplex.h, dualsimplex.cpp Задача: в main.cpp создать объект класса 'DualSimplex' и вызвать функцию 'SetData' main.cpp: #include "dualsimplex.h" #include <iostream> using namespace std; подробнее

Показать сообщение отдельно
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612

vector<T> template vector<T>::iterator - C++

21.05.2011, 07:03. Просмотров 2045. Ответов 3
Метки (Все метки)

Здраствуйте! При написании вектора столкнулся с проблемой такого рода:

вот код вектора
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
template <typename T> 
    class vector
    {
        typedef unsigned short int uint;
    private:
        T*          arr;
        uint        _capacity,
                    _size;
 
        bool        resize();
 
    public:
        vector();
        vector(const vector<T> &Q);
 
        class iterator;
 
        T           operator[](const uint &index);
 
        void        push_back(const T &value);
        void        clear();
 
        iterator    begin();
        iterator    end();
        
        uint        size();
        bool        empty();
 
 
        ~vector();
    };
вот код iterator
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <typename T> 
    class vector<T>::iterator 
    {
    protected:
        T*          value;
    public:
        iterator() : value(NULL) {};
 
        iterator(T* val) : value(val) {};
 
        bool    operator++();
        bool    operator--();
        bool    operator==(const iterator &another);
        bool    operator=(const iterator &another);
        T       operator*();
 
 
 
    };
первоначально vector<T>::begin() и end() возвращали T* и всё работало. Но я решил переделать так чтобы они возвращали iterator

C++
1
2
3
4
5
6
7
8
9
10
11
template <typename T> 
    vector<T>::iterator vector<T>::begin() 
    {
        //return arr;
    }
 
    template <typename T> 
    vector<T>::iterator vector<T>::end() 
    {
        //return (arr + _size);
    }
проблема в том, что компилятор останавливается на второй строке и говорит:
error C2143: syntax error : missing ';' before 'vector<T>::begin' c:\users\alex\documents\visual studio 2008\projects\project2_6_16v1\project2_6_16v1\vector.h 145 project2_6_16v1
Объясните, пожалуйста, как надо правильно оформить это дело, я весь день провозился и так и эдак пробовал... Заранее спасибо!

и кстати ещё предупреждение вот такое выдаёт:
Предупреждение 1 warning C4346: 'vector<T>::iterator' : dependent name is not a type c:\users\alex\documents\visual studio 2008\projects\project2_6_16v1\project2_6_16v1\vector.h 145 project2_6_16v1
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru