С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
129 / 81 / 49
Регистрация: 10.01.2020
Сообщений: 293
1

LNK2019 и LNK1120 ссылка на неразрешенный внешний символ

03.05.2021, 11:56. Показов 1233. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дошли руки реализовать шаблонный двухсвязный список, но по класике с шаблонами вечно происходить какая-то дичь.
Ошибка конкретно касается заголовочного "DoubleLinkedList.h" на вызове конструктора класса "DoubleLinkedList".
Причем при вызове конструктора созданием обьекта таким путем(со скобками):
C++
1
DoubleLinkedList<int> dllist();
ошибки не выдает, но все же хотелось бы разобраться в данной проблеме.

DoubleLinkedListNode.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
 
template<typename T> class DoubleLinkedList;
 
 
template <typename T> class DoubleLinkedListNode
{
    template<typename T> friend class DoubleLinkedList;
 
public:
    DoubleLinkedListNode(T otherValue = T(), DoubleLinkedListNode* otherpPrev = nullptr, DoubleLinkedListNode* otherpNext = nullptr);
 
private:
 
    DoubleLinkedListNode* m_pPrev;
    DoubleLinkedListNode* m_pNext;
    T m_Value;
};
DoubleLinkedListNode.cpp:
C++
1
2
3
4
5
6
7
template<typename T>
inline DoubleLinkedListNode<T>::DoubleLinkedListNode(T otherValue, DoubleLinkedListNode* otherpPrev, DoubleLinkedListNode* otherpNext)
{
    this->m_Value = otherValue;
    this->m_pPrev = otherpPrev;
    this->m_pNext = otherpNext;
}
DoubleLinkedList.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
#pragma once
#include "DoubleLinkedListNode.h"
#include <iostream>
 
 
template <typename T> class DoubleLinkedList
{
public:
 
    DoubleLinkedList();
 
    //bool push_back(T otherValue);
 
    //bool push_front(T otherValue);
 
    //bool insert_after(int position, T otherData);
 
    //void OutputNormalOrder(); // helper
 
    //void OutputBackOrder(); // helper
 
 
private:
 
    DoubleLinkedListNode<T>* m_pHead;
    DoubleLinkedListNode<T>* m_pTail;
    int m_iSize;
};
DoubleLinkedList.cpp:
C++
1
2
3
4
5
6
7
8
9
10
#include "DoubleLinkedList.h"
 
 
template<typename T>
DoubleLinkedList<T>::DoubleLinkedList()
{
    this->m_pHead = nullptr;
    this->m_pTail = nullptr;
    this->m_iSize = 0;
}
main.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <vector>
#include <string>
 
#include "DoubleLinkedList.h";
 
int main()
{
    DoubleLinkedList<int> dllist;
 
    //dllist.push_back(1);
    //dllist.push_back(2);
    //dllist.push_back(3);
    //dllist.push_back(4);
    //dllist.push_back(5);
 
    return 0;
}
Буду рад помощи.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2021, 11:56
Ответы с готовыми решениями:

Ссылка на неразрешённый внешний символ (LNK2019)
Не могу понять, в чём суть самой проблемы(не могу найти в коде). Ошибка происходит при перегрузке...

Ссылка на неразрешенный внешний символ, LNK2019
Имеется две функции: // объявления template &lt;class Type&gt; class QueueTp { .... bool...

Ссылка на неразрешённый внешний символ (LNK2019)
Доброго времени суток. Пришла мне тут в голову мысль реализовать односвязный список на плюсах....

LNK2019 ссылка на неразрешенный внешний символ
При анализе MSVS выдаёт LNK2019 ссылка на неразрешенный внешний символ _main в функции &quot;int __cdecl...

1
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
03.05.2021, 13:20 2
Лучший ответ Сообщение было отмечено stdin как решение

Решение

Цитата Сообщение от stdin Посмотреть сообщение
DoubleLinkedListNode.cpp
Шаблоны в файлы cpp выносить нельзя. Они должны быть в заголовочных файлах.
1
03.05.2021, 13:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2021, 13:20
Помогаю со студенческими работами здесь

LNK2019 : ссылка на неразрешенный внешний символ
Добрый вечер всем возникла проблема з компилированием кода, выдаёт ошибку: LNK2019 ссылка на...

ссылка на неразрешенный внешний символ LNK2019
Написал код , но он не запускается. Выдает странную ошибку которую непонятно как исправить. Прошу...

LNK2019: ссылка на неразрешенный внешний символ
подскажите что означают эти ошибки : Ошибка 11 error LNK2019: ссылка на неразрешенный внешний...

LNK2019: ссылка на неразрешенный внешний символ
Здравствуйте! При компиляции возникла ошибка: error LNK2019: ссылка на неразрешенный внешний...

LNK2019: ссылка на неразрешенный внешний символ
Какая я то магия случилась, пишу код уже неделю, ошибок нет, после обновления VS начал ругаться на...

LNK2019 ссылка на неразрешенный внешний символ
Доброго времени, почему вылетают ошибки и как это исправить? Спасибо #include &quot;stdafx.h&quot;...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru