Ошибка происходит при инициализации объекта класса Interface;
Interface <int> test;
Если убрать шаблон из класса, то ошибка пропадает.
Interface.h:
#pragma once
#include <iostream>
using namespace std;
template <class T>
class Interface
{
private:
T dummy;
public:
Interface();
~Interface();
// void menu(void);
};
Interface.cpp:
#include "Interface.h"
template <class T>
Interface<T>::Interface()
{
}
template <class T>
Interface<T>::~Interface()
{
}
Список ошибок:
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Interface<int>::Interface<int>(void)" (??0?$Interface@H@@QAE@XZ) в функции _main
Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Interface<int>::~Interface<int>(void)" (??1?$Interface@H@@QAE@XZ) в функции _main
Ошибка 3 error LNK1120: неразрешенных внешних элементов:
Проблема решена переносом кода из .cpp в .h файл. Тем не менее, есть ли способы описать шаблонный класс раздельно?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте! Не подскажете, как нарисовать картинку с помощью OpenGl?
Здраствуйте помогите с программой (C++) Вводится одно число которое может быть максимум 1000 значным(соответственно его можно прочесть только...