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

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

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

Студворк — интернет-сервис помощи студентам
На этапе компиляции вылетает следующая ошибка:
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)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2019, 19:28
Ответы с готовыми решениями:

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

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

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

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

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

Решение

Шаблоны нельзя компилировать отдельно (компилятор может проверить синтаксис, но не может создать код).
Добавляйте их целиком в .h файл.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2019, 19:31
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru