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

Определение методов шаблонного класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести на экран с точностью два знака число ПИ http://www.cyberforum.ru/cpp-beginners/thread918947.html
программный код с комментариями желательно)
C++ Умные указатели Насколько я понял для того что бы предотвратить передачу права владения используют const. Код из примера: template <class T> ostream& operator <<(ostream& strm, const auto_ptr<T>& p) { if(p.get()==0) {strm<<"Null";} else { strm<<*p;} return strm; } http://www.cyberforum.ru/cpp-beginners/thread918945.html
Подсчёт количества символов C++
Здравствуйте, возник вопрос: Почему в функцию не передаётся вся строка, например я пишу "qwerty qwerty" то он не передаёт второй "qwerty" а так же не передаёт пробел. В чём может быть проблема? #include <iostream> #include <iomanip> #include <string.h> using namespace std; const int mass = 1000; void run(char*,int&,int&,int&);
Set <int> C++
Доброе время суток, помогите оптимизировать данный код set < int > temp; temp.insert(1); temp.insert(2); temp.insert(3); temp.insert(4); temp.insert(5); for( set < int > ::iterator itt = temp.begin(); itt != temp.end(); itt++ )
C++ Зарыть клад http://www.cyberforum.ru/cpp-beginners/thread918936.html
Здраствуйте! Вот задание: Капитан Флинт зарыл клад на Острове сокровищ. Он оставил описание, как найти клад. Описание состоит из строк вида: "North 5", где первое слово – одно из "North", "South", "East", "West", а второе число – количество шагов, необходимое пройти в этом направлении. Напишите программу, которая по описанию пути к кладу определяет точные координаты клада, считая, что начало...
C++ std threading library взамен boost threading library изучаю распараллеливание на примере "примера" с http://www.linux.org.ru/forum/development/4152264 , но там с использованием boost. Так вот хотел было начать задавать умные вопросы, НО! : std::thread_group is not member of std и приехали, ступор. на что мне заменить std::thread_group #include <thread> #include <mutex> #include <vector> int a(int x) {return x*x;} int next_i(int n, int & i,... подробнее

Показать сообщение отдельно
RESTY
5 / 5 / 0
Регистрация: 30.05.2012
Сообщений: 89
06.07.2013, 23:41     Определение методов шаблонного класса
Столкнулся с такой проблемой, реализовываю итератор для шаблонного списка, при определении метода интератора вылетает ошибка
вот лог :
warning C4346: 'TList<T>::?$iterator_stl@$RT@BAAB@' : dependent name is not a type
1> prefix with 'typename' to indicate a type
: error C2143: syntax error : missing ';' before '&'
: error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
: error C2936: 'TList<T>::iterator_stl<T>' : template-class-id redefined as a global data variable
: fatal error C1903: unable to recover from previous error(s); stopping compilation

вот сам код :

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
template<class T>
class TList
{
private:
 
    struct Node
    {
        Node* Next_root;
        Node* Prev_root;
        T data;
        Node(T &_data, Node* next = 0)
            : Next_root(next)
            , Prev_root(0)
            , data(_data)
        {}
    };
    Node* Head;
    Node* Tail;
    int Item_count;
 
public:
 
    class iterator_stl
    {
    private:
        Node* ptr;
    public:
        //friend class TList;
        iterator_stl(Node* node_ptr);
        iterator_stl& operator ++();
        iterator_stl& operator ++(int);
        iterator_stl& operator --(); 
        iterator_stl& operator --(int);
        T& operator *();
        bool operator == (iterator_stl &ptr);
        bool operator != (iterator_stl &ptr);
    };
 
    iterator_stl begin();
    iterator_stl end();
 
......
};
 
template<class T>
TList<T>::iterator_stl& TList<T>::iterator_stl::operator ++()// тут ошибку выдает
{
    ptr = ptr->Next_root;
    return *this;
}
......
В чем проблема подскажите.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru