Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3 / 3 / 0
Регистрация: 28.11.2018
Сообщений: 238
1

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

12.08.2019, 19:49. Показов 1906. Ответов 1
Метки нет (Все метки)

Вообще не понимаю - почему??? Я же всё описал в .cpp файле, что не так то?
list.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
template <class Data>
class List
{
public:
    class Node
    {
    public:
        Data d;
        Node* next;
        Node* back;
        Node(Data dat = 0){
            d = dat; next = 0; back = 0;
        }
    };
    Node* pbeg, *pend;
    List();
    ~List();
};
list.cpp
C++
1
2
3
4
5
6
7
8
9
10
#include "list.h"
 
template<class Data>
List<Data>::List() :
    pbeg(nullptr),
    pend(nullptr)
{}
 
template<class Data>
List<Data>::~List() {}
main.cpp
C++
1
2
3
4
5
#include "list.h"
int main(){
    List<int> List_int;
    return 0;
}
Ошибки:
LNK2019 ссылка на неразрешенный внешний символ "public: __thiscall List<int>::List<int>(void)" (??0?$List@H@@QAE@XZ) в функции _main Test C:\Users\sayon\source\repos\Test\Test\main.obj 1
LNK2019 ссылка на неразрешенный внешний символ "public: __thiscall List<int>::~List<int>(void)" (??1?$List@H@@QAE@XZ) в функции _main Test C:\Users\sayon\source\repos\Test\Test\main.obj 1
LNK1120 неразрешенных внешних элементов: 2 Test C:\Users\sayon\source\repos\Test\Debug\Test.exe 1
Добавлено через 6 минут

Решил проблему - нельзя же отделять в шаблонах объявление от реализации(забыл)
0

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

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

Ссылка на неразрешенный внешний символ
Выдает три ошибки, как не пытался, не могу понять почему 1)error LNK2019: ссылка на неразрешенный...

Ссылка на неразрешенный внешний символ
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ &quot;void __cdecl...

Ссылка на неразрешенный внешний символ
VS 12 выдает такую ошибку Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ &quot;public:...

Ссылка на неразрешенный внешний символ
На этапе компиляции вылетает следующая ошибка: LNK2019 ссылка на неразрешенный внешний символ...

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

Решение

Цитата Сообщение от MJ_PRUTYG Посмотреть сообщение
Вообще не понимаю - почему??? Я же всё описал в .cpp файле, что не так то?
Шаблонные методы надо описывать в h-файлах, перенеси их в list.h
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.08.2019, 20:58

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

Ссылка на неразрешенный внешний символ
error LNK2019: ссылка на неразрешенный внешний символ &quot;public: class LogProb __thiscall...

Ссылка на неразрешенный внешний символ
Identification_Organisation.h: #pragma once #include&lt;string&gt; using namespace std; class...

Ссылка на неразрешённый внешний символ
Помогите найти ошибку в коде. Пишу программу которая считает матрицу методом Крамера для...

Ссылка на неразрешенный внешний символ
Следует сортировать рандомный массив методом включения и пузырьковым методом, после чего сравнить...


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

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

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