0 / 0 / 0
Регистрация: 22.04.2019
Сообщений: 23
1

Ошибки линковшика

04.09.2019, 10:39. Показов 1135. Ответов 1
Метки нет (Все метки)

ошибки возникают только когда пытаюсь создать объект класса binary_tree

binary_tree.h
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
#pragma once
 
#ifndef _BINARY_TREE_H_
 
#define _BINARY_TREE_H_
 
#include <iostream>
 
template <class KEY_TYPE, class DATE_TYPE>
class binary_tree
{
public:
    binary_tree();
    ~binary_tree();
 
    void fill(std::istream is);
    void add(KEY_TYPE key, DATE_TYPE date);
    void pop(KEY_TYPE key);
    void out(std::ostream os);
 
private:
    class node;
 
    node *root;
    
};
 
template <class KEY_TYPE, class DATE_TYPE>
class binary_tree<KEY_TYPE, DATE_TYPE>::node
{
public:
    KEY_TYPE key;
    DATE_TYPE date;
    node *left, *right;
 
    node(KEY_TYPE key, DATE_TYPE date);
    ~node();
};
 
#endif // !_BINARY_TREE_H_
binary_tree.cpp
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "binary_tree.h"
 
template<class KEY_TYPE, class DATE_TYPE>
inline binary_tree<KEY_TYPE, DATE_TYPE>::binary_tree()
{
    root->left = nullptr;
    root->right = nullptr;
    root = nullptr;
}
 
template<class KEY_TYPE, class DATE_TYPE>
binary_tree<KEY_TYPE, DATE_TYPE>::~binary_tree()
{
    root.~node();
}
 
template<class KEY_TYPE, class DATE_TYPE>
void binary_tree<KEY_TYPE, DATE_TYPE>::fill(std::istream is)
{
    while (!is.eof())
    {
 
    }
}
 
template<class KEY_TYPE, class DATE_TYPE>
void binary_tree<KEY_TYPE, DATE_TYPE>::add(KEY_TYPE key, DATE_TYPE date)
{
    if (root == nullptr)
    {
        root = node(key, date);
    }
    else
    {
        node *tmp = root;
 
        while (true)
        {
            if (tmp->date < date)
            {
                if (tmp->right = nullptr)
                {
                    tmp->right= node(key, date);
                    break;
                }
                tmp = tmp->right;
            }
            else
            {
                if (tmp->left = nullptr)
                {
                    tmp->left = node(key, date);
                    break;
                }
                tmp = tmp->left;
            }
        }
    }
}
 
template<class KEY_TYPE, class DATE_TYPE>
void binary_tree<KEY_TYPE, DATE_TYPE>::pop(KEY_TYPE key)
{
 
}
 
template<class KEY_TYPE, class DATE_TYPE>
void binary_tree<KEY_TYPE, DATE_TYPE>::out(std::ostream os)
{
 
}
 
 
template <class KEY_TYPE, class DATE_TYPE>
binary_tree<KEY_TYPE, DATE_TYPE>::node::node(KEY_TYPE key, DATE_TYPE date) : key(key), date(date) {}
 
template <class KEY_TYPE, class DATE_TYPE>
inline binary_tree<KEY_TYPE, DATE_TYPE>::node::~node()
{
 
}
main.cpp
C++
1
2
3
4
5
6
7
#include "binary_tree.h"
#include <string>
 
int main()
{
    binary_tree<std::string, std::string> tree;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Ошибки линковшика  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.09.2019, 10:39
Ответы с готовыми решениями:

Компьютер был перезагружен после критической ошибки. Код ошибки: 0x0000000a
Компьютер был перезагружен после критической ошибки. Код ошибки: 0x0000000a (0x0000000000000048,...

Найти ошибки в данной программе (известно что есть только 2 ошибки)
У меня в модуле с програмирования задание: Найти ошибки в данной программе (известно что есть...

Ошибки после компиляции на Visual Express 2012.Ошибки в теме
Добрый вечер ребят помогите пожалуйста.Программа написана на Visual Express 2012.Обясните что...

Windows XP на HP compaqt 6220 ошибки при установке, как убить эти ошибки
Всех приветствую уважаемые Комрады ,форумчане не проходите мимо помогите откликнитесь мучаюсь уже...

1
6737 / 4537 / 1838
Регистрация: 07.05.2019
Сообщений: 13,725
Записей в блоге: 1
04.09.2019, 11:25 2
Лучший ответ Сообщение было отмечено safsafasfa как решение

Решение

Цитата Сообщение от safsafasfa Посмотреть сообщение
ошибки возникают только когда пытаюсь создать объект класса binary_tree
Методы шаблонного класса должны быть в h-файле.
Перенеси содержимое binary_tree.cpp в binary_tree.h
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.09.2019, 11:25

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы
Начал изучение ASP. Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы......

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h...

При повторном появлении ошибки обработка ошибки не срабатывает
Логика: - Пользователь. Нажимает кнопку; - Код . Создаёт &quot;Recordset&quot; &quot;rstStud&quot;(студенты) и...

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class mob { public: void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.