С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/55: Рейтинг темы: голосов - 55, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 15
1

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

24.11.2019, 19:28. Показов 11170. Ответов 2

Author24 — интернет-сервис помощи студентам
На этапе компиляции вылетает следующая ошибка:
LNK2019 ссылка на неразрешенный внешний символ "void __cdecl MyQuickSort<int>(int *,int,int)" (??$MyQuickSort@H@@YAXPAHHH@Z) в функции _main MySorters D:\MySorters\MySorters\MySorters.obj

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//MySorters.cpp
 
#include "MyQuickSort.h"
 
int main()
{
    const int k = 8;
    int mass[k] = { 1, 2, 5, 3, 456, -56, 456, 0 };
 
    MyQuickSort<int>(mass, 0, k - 1);
 
    return 0;
}
C++
1
2
3
4
5
6
//MyQuickSort.h
 
#pragma once
 
template <typename T>
void MyQuickSort(T* mass, const int LEFT, const int RIGHT);
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
//MyQuickSort.cpp
 
#include "MyQuickSort.h"
 
template <typename T>
void swap_elems(T* a, T* b)
{
    T t = *a;
    *a = *b;
    *b = t;
}
 
template <typename T>
void MyQuickSort(T* mass, const int LEFT, const int RIGHT)
{
    if (LEFT < RIGHT)
    {
        T pivot = mass[RIGHT];
        int index = LEFT;
 
        for (int i = LEFT; i < RIGHT; i++)
        {
            if (mass[i] <= pivot)
            {
                swap_elems<T>(&mass[index], &mass[i]);
                index++;
            }
        }
        swap_elems<T>(&mass[index], &mass[RIGHT]);
 
        MyQuickSort<T>(mass, LEFT, index - 1);
        MyQuickSort<T>(mass, index + 1, RIGHT);
    }
}
Подскажите, пожалуйста, что я делаю не так?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2019, 19:28
Ответы с готовыми решениями:

Ссылка на неразрешенный внешний символ
Базовый класс - class area_cl{ public: int a,b; double height; ...

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

Ссылка на неразрешенный внешний символ
Понимаю что ошибка с вызовом функции InitializeMatrix, связанная с неправильным использованием...

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

2
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
24.11.2019, 19:31 2
Цитата Сообщение от Frosty726 Посмотреть сообщение
Подскажите, пожалуйста, что я делаю не так?
Возможное решение: реализацию шаблона в .h перенесите.

Подробнее о проблеме: Не собирается проект с шаблонным классом: "undefined reference"
1
Модератор
Эксперт С++
13714 / 10913 / 6476
Регистрация: 18.12.2011
Сообщений: 29,141
24.11.2019, 19:31 3
Лучший ответ Сообщение было отмечено Frosty726 как решение

Решение

Шаблоны нельзя компилировать отдельно (компилятор может проверить синтаксис, но не может создать код).
Добавляйте их целиком в .h файл.
2
24.11.2019, 19:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2019, 19:31
Помогаю со студенческими работами здесь

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

С++: Ссылка на неразрешенный внешний символ
Здравствуйте, пытаюсь запустить исходники написанные на visual studio 6, и остановился на таких вот...

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

Ссылка на неразрешенный внешний символ
Строка 36 PathStripToRoot(szRoot); Вызывает ошибки: Ошибка 1 error LNK2019: ссылка на...

Ссылка на неразрешенный внешний символ
Что это? Как я понял это какая то переменная/функция, которая некотором образом не видна другой...

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


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

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