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

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

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

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

11.01.2014, 13:26. Просмотров 211. Ответов 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++
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming: Principles and Practice Using C++, Бьерн...

Не компилируется программа - C++
Скпомпилируйте, у меня одной оно не так как надо работает??? # include &lt;iostream&gt; # include &lt;iomanip&gt; # include &lt;cmath&gt; #...

Не компилируется программа - C++
Здорова! Не компилируется программа: #include &lt;iostream&gt; using std::cout; using std::endl; class class1 //базовый класс для...

Не компилируется программа - C++
Здравствуйте. Цель - откомпилировать программу и запустить на WinXP. Проблема в том, что с определенными настройками проект либо...

Не компилируется программа - C++
Привет. Прошу помочь, если это конечно возможно, не компилируется этот код в dev cpp, версия 5.11. Подскажите, что не так. Выдает такую...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
15.01.2014, 21:09     Не компилируется программа (экспорт шаблона) #2
Экспорт шаблонов мало где поддерживается, и, если я не ошибаюсь, в стандарт эту фичу так и не включили. У вас, судя по всему, студия, следовательно, компилятор cl, а он экспорт шаблонов не поддерживает. Вообще шаблонная функция/класс должен быть определён в той же единице трансляции, в которой он используется. В вашем случае надо определение шаблона из файла file1.cpp перенести в файл file2.cpp вместо его объявления там (вместо первых двух строк в приведённом коде).
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,051
Записей в блоге: 3
Завершенные тесты: 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