|
88 / 88 / 80
Регистрация: 25.08.2013
Сообщений: 337
|
||||||||||||
Extern template23.04.2016, 17:41. Показов 5466. Ответов 7
Метки нет (Все метки)
Не могу понять, в книге пишут:
Смущает приведенный код примера:
Второй файл
Почему во втором файле не определяются переменные sa1 и sa2? Ведь они же в нем должны создаваться?
0
|
||||||||||||
| 23.04.2016, 17:41 | |
|
Ответы с готовыми решениями:
7
Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier
'MyQueue' : use of class template requires template argument list |
|
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
|
|
| 23.04.2016, 17:50 | |
Сообщение было отмечено yrceus как решение
Решение
yrceus, здесь как бы говорится что в одном файле вы зарезервируете имена обьектов данного класса, но в первом файле у вас обьявлено что где-то существует вот такой класс, вы вообще не знаете что у него за методы и тд., но я хочу заранее зарезервировать имена пары обектов, во втором файле вы обьявили этот класс, но обьявили то вы класс а не переменные, создадутся они уже потом в первом файле после линковки со вторым и будут доступны в первом
Добавлено через 1 минуту из 2го файла вы получите шаблон того как должен выглядеть класс и его методы, но объекты там не создадутся Добавлено через 51 секунду ну эт имхо
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 23.04.2016, 18:18 | |||
Сообщение было отмечено yrceus как решение
Решението для каждой из них он будет каждый раз заново компилироваться. шаблон класса - это не класс. это - рецепт, на основе которого компилятору ещё только предстоит сгенерировать класс. когда вы подставляете вместо параметра шаблона, конкретный тип: some<int> obj; вы даете компилятору понять, что нужно инстанцировать шаблон для указанного типа. компилятор послушно инстанцирует. полученный в итоге инстанс в некоторых книгах ещё называют "экземпляром шаблона". кратко: экземпляр шаблона - это класс, который генерирует компилятор для указанных параметров.
1
|
|||
|
88 / 88 / 80
Регистрация: 25.08.2013
Сообщений: 337
|
|
| 23.04.2016, 18:22 [ТС] | |
|
hoggy, из книги, вы об этом как раз.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 23.04.2016, 18:29 | |
Сообщение было отмечено yrceus как решение
Решение
1
|
|
|
88 / 88 / 80
Регистрация: 25.08.2013
Сообщений: 337
|
||
| 23.04.2016, 19:15 [ТС] | ||
|
Но в случае без еxtern в каждом месте кода, где встречается определение экземпляра(инстанция) будет сгенерирован код этого конкретного уже класса (экземпляра). Все верно??? Добавлено через 32 минуты ввв
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 23.04.2016, 19:25 | |
Сообщение было отмечено yrceus как решение
Решение
1
|
|
|
88 / 88 / 80
Регистрация: 25.08.2013
Сообщений: 337
|
|
| 23.04.2016, 19:32 [ТС] | |
|
Отлично, огромное вам спасибо!!! Не простая тема с шаблонами...
Добавлено через 1 минуту Еще почитал, явное и неявное инстанцирование, об этом как раз)
0
|
|
| 23.04.2016, 19:32 | |
|
Помогаю со студенческими работами здесь
8
Что означает extern "C" или extern "C++"? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|