Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 283
12.12.2013, 15:44     Ссылка на неразрешенный внешний символ #1
Код
Ошибка	2	error LNK2019: ссылка на неразрешенный внешний символ "public: struct EQUIPMENT_ESSENCE * __thiscall GNET::elementdataman::get_item<struct EQUIPMENT_ESSENCE>(unsigned int,enum DATA_TYPE,enum ID_SPACE)" (??$get_item@UEQUIPMENT_ESSENCE@@@elementdataman@GNET@@QAEPAUEQUIPMENT_ESSENCE@@IW4DATA_TYPE@@W4ID_SPACE@@@Z) в функции _wmain	C:\Users\twink3\Desktop\elementloader\TestElementLoader\app.obj	TestElementLoader
в классе объявил вот так
C++
1
2
    public:
    template <typename T> T * get_item(unsigned int id,DATA_TYPE type,ID_SPACE space);
в cpp фале инициализировал вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
template <typename T>
    T * elementdataman::get_item(unsigned int id,DATA_TYPE type,ID_SPACE space)
    {
        DATA_TYPE dt;
        T* item = nullptr;
        auto item_ptr = man.get_data_ptr(id, space, dt);
        if(dt==type && item_ptr!=nullptr)
        {
            item = (T*)item_ptr;
        }
        return item;
    }
но работает только если инициализировать в классе... а так не работает...
C++
1
EQUIPMENT_ESSENCE* some_addon1 = man.get_item<EQUIPMENT_ESSENCE>(23743,DT_EQUIPMENT_ESSENCE,ID_SPACE_ESSENCE);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
12.12.2013, 15:59     Ссылка на неразрешенный внешний символ #2
Покажите интерфейс класса *.h
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.12.2013, 16:46     Ссылка на неразрешенный внешний символ #3
lips, объявление шаблона и реализация должны быть в одном файле.
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 283
13.12.2013, 10:51  [ТС]     Ссылка на неразрешенный внешний символ #4
Цитата Сообщение от alsav22 Посмотреть сообщение
lips, объявление шаблона и реализация должны быть в одном файле.
вы уверены??
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.12.2013, 12:44     Ссылка на неразрешенный внешний символ #5
Шаблоны странная ошибка во время компиляции
Шаблон класса
Шаблон класса
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 283
13.12.2013, 12:56  [ТС]     Ссылка на неразрешенный внешний символ #6
спасибо))

Не по теме:

вашу юбилейную репутацию не хочется изменять

Yandex
Объявления
13.12.2013, 12:56     Ссылка на неразрешенный внешний символ
Ответ Создать тему
Опции темы

Текущее время: 00:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru