статический сбой связи библиотеки в Visual C

В Visual C ++ я создал статическую библиотеку с двумя файлами, myLib.h и myLib.cpp. У меня также есть проект консольного приложения с файлом testSequence.cpp, который ссылается на эту библиотеку.
В myLib.h я определил класс template<class prec> class sequence который имеет объявление функции prec *getPrimes(int numToGet) эта функция затем определяется в myLib.cpp. Тем не менее, когда я собираю testSequence, возникает ошибка связывания, и он говорит error LNK2019: unresolved external symbol "public: int * __thiscall mathLib::sequence<int>::getPrimes(int)" (?getPrimes@?$sequence@H@mathLib@@QAEPAHH@Z) referenced in function "char * __cdecl codeString(char *,char *,bool)" (?codeString@@YAPADPAD0_N@Z)
Так что, да, помощь будет хорошей.

0

Решение

Читать этот для объяснения ошибки.

По сути, то, что вы пытаетесь сделать, не может быть сделано. Компилятор должен быть в состоянии увидеть реализация шаблона класса, когда он пытается создать экземпляр для данного параметра типа шаблона. Вам нужно переместить реализации всех функций-членов в файл заголовка.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]