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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bazleks
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 2
#1

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

07.04.2014, 02:37. Просмотров 364. Ответов 3
Метки нет (Все метки)

Не могу разобраться, что такое. Создал 3 файла, первый содержит в себе main, второй содержит объявление функции с использованием enum и template, а третий содержит реализацию. Но компилятор кидает ошибку(MSVS 2013): ссылка на неразрешенный внешний символ. Подскажите как исправить?
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
// файл main.cpp -----------------
#include "header.h"
int main() {
    int a = 10;
    setNumber(a);
}
// файл header.h -----------------
template <typename T>extern void setNumber(T &number);
 
// файл realisation.cpp -----------------
template <typename T>void setNumber(T &number) { }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2014, 02:37     Extern templates. Ссылка на неразрешенный внешний символ
Посмотрите здесь:
Ссылка на неразрешенный внешний символ C++
Ссылка на неразрешенный внешний символ C++
C++ Ссылка на неразрешенный внешний символ
Ссылка на неразрешенный внешний символ C++
C++ Ссылка на неразрешенный внешний символ
C++ Ссылка на неразрешенный внешний символ
C++ Ссылка на неразрешенный внешний символ
Ссылка на неразрешенный внешний символ C++
C++ Ссылка на неразрешенный внешний символ
Ссылка на неразрешенный внешний символ C++
Ссылка на неразрешенный внешний символ C++
C++ Ссылка на неразрешенный внешний символ

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7156 / 4322 / 630
Регистрация: 29.11.2010
Сообщений: 11,742
07.04.2014, 03:30     Extern templates. Ссылка на неразрешенный внешний символ #2
Точка инстанцирования шаблонных функций и классов должна быть в хедерах (реализацию в .h запихните и ок).
bazleks
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 2
07.04.2014, 09:05  [ТС]     Extern templates. Ссылка на неразрешенный внешний символ #3
есть необходимость реализацию шаблонных функций хранить в отдельном cpp, можно ли как-то добиться этого?
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
07.04.2014, 09:08     Extern templates. Ссылка на неразрешенный внешний символ #4
bazleks, нельзя. Разве только явно инстацировать все многообразие типов, которые могут понадобиться. Только в этом случае польза от шаблона сомнительна.
Yandex
Объявления
07.04.2014, 09:08     Extern templates. Ссылка на неразрешенный внешний символ
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru