С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 20.09.2021
Сообщений: 36

Как исправить данные ошибки, недавно начал изучать шаблон класса

18.09.2022, 22:59. Показов 1187. Ответов 3

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой:
Серьезность Код Описание Проект Файл Строка Состояние подавления

Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: void __cdecl DequeTemplate<int>::Push_front(int const &)" (?Push_front@?$DequeTemplate@H@@QEAAXAEB H@Z) в функции main. Project2 C:\Users\lelyu\Desktop\ENGINEERING\CPP\Я ву\Project2\Project2\main.obj 1

Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: void __cdecl DequeTemplate<int>::Print(void)" (?Print@?$DequeTemplate@H@@QEAAXXZ) в функции main. Project2 C:\Users\lelyu\Desktop\ENGINEERING\CPP\Я ву\Project2\Project2\main.obj 1

Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: void __cdecl DequeTemplate<int>::Clear(void)" (?Clear@?$DequeTemplate@H@@QEAAXXZ) в функции main. Project2 C:\Users\lelyu\Desktop\ENGINEERING\CPP\Я ву\Project2\Project2\main.obj 1

Ошибка LNK1120 неразрешенных внешних элементов: 3 Project2 C:\Users\lelyu\Desktop\ENGINEERING\CPP\Я ву\Project2\x64\Debug\Project2.exe 1

Deque.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
41
42
43
44
#include <iostream>
// создание дека;
// печать (просмотр) дека;
// добавление элемента в левый конец дека;
// добавление элемента в правый конец дека;
// извлечение элемента из левого конца дека;
// извлечение элемента из правого конца дека;
// проверка пустоты дека;
// очистка дека.
 
template<class T> struct Node
{
    T data;
    Node<T>* next;
    Node<T>* prev;
    Node(T* data)
    {
        this->data = data;
        next = nullptr;
        next = nullptr;
    }
};
 
template<typename T>
class DequeTemplate
{
public:
 
    void Push_front(const T &data); // Добавить элемент в правый конец
    void Push_back(const T &data); // Добавить элемент в левый конец
 
    T Pop_front(); // Удалить элемент в правом конце
    T Pop_back(); // Удалить элемент в левом конце
 
    void Print(); //Вывод дека
 
    void Clear(); // Очисть дек
    bool Is_Clear(); // Проверка дека на освобождение памяти
 
private:
    Node<T>* head = NULL;
    Node<T>* tail = NULL;
    int size = 0;
};
Deque.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
82
83
84
85
86
#include "Deque.h"
 
 
template<typename T>
void DequeTemplate<T>::Push_front(const T &data)
{
    size++;
    Node<T>* node = new Node<T>*(data);
    if (head == nullptr)
    {
        tail->next = node;
        tail = node;
    }
    else
    {
        node->next = head;
        head->prev = node;
        head = node;
    }
 
    std::cout << "Good" << std::endl;
}
 
template<typename T>
void DequeTemplate<T>::Push_back(const T &data)
{
    size++;
    if (head == nullptr)
    {
        head = new Node<T>(data);
        tail = head;
    }
    else
    {
        Node<T>* node = new Node<T>(data);
        tail->next = node;
        tail->prev = tail;
        tail = node;
    }
 
    std::cout << "Good" << std::endl;
}
 
template<typename T>
T DequeTemplate<T>::Pop_front()
{
    size--;
    head = head->next;
    head->prev = NULL;
}
 
template<typename T>
T DequeTemplate<T>::Pop_back()
{
    size--;
    tail = tail->prev;
    tail->next = NULL;
}
 
template<typename T>
void DequeTemplate<T>::Print()
{
    Node<T>* node = head;
    while (node != NULL)
    {
        std::cout << node->data << std::endl;
        node = node->next;
    }
}
 
template<typename T>
void DequeTemplate<T>::Clear()
{
    Node<T>* node = head;
    while (node != NULL)
    {
        Node<T>* next = node->next;
        delete node;
    }
}
 
template<typename T>
bool DequeTemplate<T>::Is_Clear()
{
    return size;
}
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include "Deque.h"
 
 
int main()
{
    DequeTemplate<int> Data;
 
    const int d = 4;
 
    Data.Push_front(d);
 
    Data.Clear();
 
    Data.Print();
 
 
 
    //std::cout << "Hello World!" << std::endl;
 
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2022, 22:59
Ответы с готовыми решениями:

Ребят можете с заданием только недавно начал изучать паскаль вообще без понятий как делать
program zadanie_5; uses graph, crt; var GraphDriver, GraphMode, ErrorCode, X0, Y0 : Integer; Begin

Недавно начал изучать язык программирования Си
Дана строка символов. Поменять местами N первых и N последних символов заданной строки. (я так понимаю нужно создать массив)

Недавно начал изучать С++ пояляються трудности с массивами
Здравствуйте ! Помогите с решением проблемы в этом коде: #include &lt;iostream.h&gt; #pragma argsused int main() {int...

3
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
18.09.2022, 23:51
реализация методов шаблонного класса вне класса - сложная и мутная хрень, в которой я так и не разобрался. Вроде в разделе c++ для начинающих один человечек как-то смог реализовать - можете поискать. А пока могу посоветовать запихнуть всю реализацию в класс и сидеть с этой ляпотой в одном файле)
0
0 / 0 / 0
Регистрация: 20.09.2021
Сообщений: 36
18.09.2022, 23:57  [ТС]
Да я вот сейчас тоже понял, что тут проблема с разделением на файлы, но я все-таки поищу как решить данную проблему)
0
фрилансер
 Аватар для Алексей1153
6445 / 5640 / 1128
Регистрация: 11.10.2019
Сообщений: 15,008
19.09.2022, 08:03
Цитата Сообщение от Alehynder Посмотреть сообщение
с разделением на файлы
шаблон не нужно делить на файл. И всё получится
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.09.2022, 08:03
Помогаю со студенческими работами здесь

начал изучать C++ и MS Visual C++ 2012 выдает синтаксические ошибки
начал изучать c++ и MS Visual C++ 2012, но столкнулся с проблемой. текст программы: // ConsoleApplication1.cpp: определяет точку...

Начал изучать уже ошибки , или чтото не то делаю я (
Сегодня начал изучать С++ уже идут ошибки Данный код #include &lt;stdio.h&gt; main() { printf('здравствуй, мир\n'); }

Начал изучать С. Хочу, чтобы мне объяснили подробно задачу(Заодно проверить на ошибки).Заранее спасибо!
Составить блок-схему алгоритма и программу вычисления суммы n членов ряда согласно условию задачи. -cos(x)+cos(2x)/4-cos(3x)/9 #include...

Как увязать данные в класс или шаблон класса?
Вобщем есть x1 , x2 of double //массивы xx, yy: double; series1 series2 -...

Ребят, подскажите пожалуйста с задачками, я недавно начала изучать JS, но все как-то туго идет. Может сможете обьянсить?
1. Коля любит кататься на велосипеде. В течении одного часа Коля выпивает 0.5л воды. Напишите функцию, которая в качестве параметра...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru