-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
|
1 | |
Шаблоны: ошибки: requires template argument list или undeclared identifier27.11.2017, 17:10. Показов 1252. Ответов 8
Метки нет Все метки)
(
Есть маленький тестовый проект из 4-файлов.
Что мне надо - рассказывать словами замучаюсь, взляните пожалуйста на код по ссылке ниже (он с комментариями). Если коротко, проблема в объявлении шаблонного класса , у которого tempate - тоже шаблонный класс, и есть некоторые нюансы, о которых ниже. Мне нужно чтобы здесь не было ошибок: - ClassInHeaderOnly<SourceEncoding> *headerOnly; или - 'SourceEncoding': undeclared identifier Обязательное условие, в test1.h нельзя инклудить headeronly.h . Инклудить headeronly.h можно только в test1.cpp. Как объявить шаблонный класс ? Или может по другому решить проблему с динамическим указателем?
0
|
|
27.11.2017, 17:10 | |
Ответы с готовыми решениями:
8
Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier 'MyQueue' : use of class template requires template argument list
|
7363 / 6285 / 2857
Регистрация: 14.04.2014
Сообщений: 27,235
|
|
27.11.2017, 17:14 | 2 |
Если SourceEncoding шаблон, то где ещё тип?
0
|
-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
|
27.11.2017, 17:45 [ТС] | 3 |
Если, напр. ClassInHeaderOnly<UTF8<>> , то SourceEncoding. - UTF8<>
Там же все есть, в гисте, ну , не можете сразу прикинуть что да как с этими шаблонами, воспроизведите этих маленьких четыре файла в своей IDE, зачем спрашивать все то, что самому можно посмотреть ???
0
|
7363 / 6285 / 2857
Регистрация: 14.04.2014
Сообщений: 27,235
|
|
27.11.2017, 17:56 | 4 |
Может, мне ещё сделать за тебя и сдать?
Если ты не указываешь конкретный тип для ClassInHeaderOnly, то TestClass должен быть шаблонным.
0
|
-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
|
27.11.2017, 18:47 [ТС] | 5 |
Че сдать? !! Тут не только дети бегают... А кое-кто для себя делает.
Просто, этот чтобы такой вопрос подготовить , куча времени уходит, а тут не успев до конца вникнуть начинают , а где, а что , получается нахер стараться вообще , и так не поймут.... SourceEncoding закинуть как template для TestClass? Добавлено через 39 минут Если так, то это придётся инклудить headeronly.h ещё куда-то, а это нельзя.
0
|
зомбяк
1565 / 1214 / 345
Регистрация: 14.05.2017
Сообщений: 3,936
|
||||||
27.11.2017, 18:55 | 6 | |||||
Никуда от этого не денешься. Чтобы скомпилировать ClassInHeaderOnly *headerOnly нужно полностью параметризировать шаблон ClassInHeaderOnly.
Если это невозможно, делай
1
|
-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
||||||
27.11.2017, 19:15 [ТС] | 7 | |||||
Во, что то уже конкретное, спасибо.
Но void *headerOnly; я уже делал, эта идея первая пришла ко мне в голову. Ещё я делал так:
Гуру сайта, вариантов больше нет?
0
|
зомбяк
1565 / 1214 / 345
Регистрация: 14.05.2017
Сообщений: 3,936
|
|
27.11.2017, 19:19 | 8 |
Бесполезными будут оба...
0
|
-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
|||||||||||
28.11.2017, 13:24 [ТС] | 9 | ||||||||||
Офигеть, а вставлять headeronly.h ещё куда-то лучше ? Это сколько лишнего инлайна за собой потянет? Да и вообще , его светить нежелательно.
Объяснитесь пожалуйста. . Добавлено через 15 часов 17 минут Ап! Добавлено через 2 часа 44 минуты Сделал и 3-й вариант: Ежели в этом ошибка: ClassInHeaderOnly<SourceEncoding> *headerOnly; ..... 'SourceEncoding': undeclared identifier , ну тут понятно от чего ошибка, я написал просто для видимости... (синтаксис абсолютно левый).То можно присобачить с помощью forward declaration и также UTF8 как замену SourceEncoding вот так:
test1.h выглядит так (без лишних добавлений headeronly.h):Кликните здесь для просмотра всего текста
0
|
28.11.2017, 13:24 | |
Помогаю со студенческими работами здесь
9
Ошибки в Visual C++: error C2065: 'SetCursorPos' : undeclared identifier Ошибки Undeclared identifier: 'Edit1', Missing operator or semicolon Undeclared identifier или too many include files
Ошибки типа "Undeclared identifier" и expected Ошибки "Undeclared identifier" в программе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |