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

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

Войти
Регистрация
Восстановить пароль
 
Tap1
Сообщений: n/a
#1

Не компилируется программа (экспорт шаблона) - C++

11.01.2014, 13:26. Просмотров 206. Ответов 3
Метки нет (Все метки)

Что неправильно? Делаю все по книге а эти ошибки непонятно откуда берутся
Подчеркивается слово export красной линией. Пробовал убрать export а тогда другие ошибки появляются

file1.cpp
C++
1
2
3
4
5
export template<typename T>
T twice(T t)
{
    return t+1;
}
file2.cpp
C++
1
2
3
4
5
6
7
template<typename T>
T twice(T t);
 
int g(int i)
{
    return twice(i);
}
Ошибка 2 error C2143: синтаксическая ошибка: отсутствие ";" перед "'template<'"
Ошибка 3 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 13:26     Не компилируется программа (экспорт шаблона)
Посмотрите здесь:

C++ Программа не компилируется
C++ Не компилируется программа
C++ Программа компилируется но не работает
Не компилируется программа C++
C++ Не компилируется старая программа
C++ Не компилируется программа
C++ Программа не компилируется
О специализации шаблона: почему код компилируется? C++
C++ Не компилируется программа
C++ Не компилируется программа
C++ Не компилируется программа
C++ Не компилируется программа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
15.01.2014, 21:09     Не компилируется программа (экспорт шаблона) #2
Экспорт шаблонов мало где поддерживается, и, если я не ошибаюсь, в стандарт эту фичу так и не включили. У вас, судя по всему, студия, следовательно, компилятор cl, а он экспорт шаблонов не поддерживает. Вообще шаблонная функция/класс должен быть определён в той же единице трансляции, в которой он используется. В вашем случае надо определение шаблона из файла file1.cpp перенести в файл file2.cpp вместо его объявления там (вместо первых двух строк в приведённом коде).
Croessmah
Модератор
Эксперт CЭксперт С++
12890 / 7276 / 811
Регистрация: 27.09.2012
Сообщений: 17,975
Записей в блоге: 2
Завершенные тесты: 1
15.01.2014, 21:11     Не компилируется программа (экспорт шаблона) #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
в стандарт эту фичу так и не включили.
исключили в C++11
Не компилируется программа (экспорт шаблона)
silent_1991
15.01.2014, 21:19     Не компилируется программа (экспорт шаблона)
  #4

Не по теме:

Croessmah, точно, уже начинаю такие подробности забывать... Ну, по большому счёту, ничего не изменилось... Как флагманские компиляторы плевали на неё в течение 10 лет, так теперь могут продолжать плевать, но теперь уже официально

Yandex
Объявления
15.01.2014, 21:19     Не компилируется программа (экспорт шаблона)
Ответ Создать тему
Опции темы

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