Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 23
1

Перегрузка функции шаблонами и параметрами по умолчанию

08.03.2020, 10:47. Просмотров 166. Ответов 2


Такая проблема, надо написать header файл и к нему исходник, в которых нужно описать 3 функции и причём каждая функция имеет по несколько перегрузок с шаблонами и с параметрами по умолчанию.
Уже 2 два дня не могу разместить эти функции в файлах так, чтобы не было ошибки компиляции

Вот все функции с их перегрузками:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Любое значение
template<typename T>
void consoleColor(T text, T background) { // }
 
// Только значение по умолчанию
void consoleColor(const unsigned short text = 15, const unsigned short background = 0) { // }
 
// Любое значение текста и значение по умолчанию фона
template<typename T, const unsigned short background = 0>
void consoleColor(T text) { // }
 
// Любое значение
template<typename T>
void cursorPosition(T posX, T posY) { // }
 
// Только значение по умолчанию
void cursorPosition(const unsigned short posX = 0, const unsigned short posY = 0) { // }
 
// Структура COORD
COORD getPosition() { // }
 
// Любое значение
template<typename T>
void getPosition(T &posX, T &posY) { // }
Можете написать как для них будут выглядеть header файл и исходник?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2020, 10:47
Ответы с готовыми решениями:

Шаблон функции с параметрами по умолчанию
Можно ли создать такую конструкцию? Если да, можно увидеть пример?

Прблемы с Шаблонами: Конструктор с параметрами, объявление итератора.
Добрый день. Начал изучать шаблоны и сразу же возникло 2 проблемы: 1).На Строке в мейне...

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». Есть ли разница в этих понятиях? Если...

Шаблон с параметрами по умолчанию
Подскажите пожайлуста,что можно написать в коде вместо многоточий? Шаблон можно переписать с...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
2
Модератор
Эксперт С++
10460 / 8712 / 5263
Регистрация: 18.12.2011
Сообщений: 23,269
08.03.2020, 12:18 2
Все, что Вы написали должно быть в заголовочном файле!
Нельзя шаблоны помещать в отдельный файл, т.к. компилятор не может создать код, если неизвестны значения параметров шаблона.
0
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 23
08.03.2020, 12:42  [ТС] 3
Если поместить всё это в заголовочный файл, то выдаёт ошибку "multiple definition of" для каждой функции с аргументами по умолчанию.
Работаю в QT

Добавлено через 10 минут
Почему-то это ошибка связана с типом данных:
пишу так:
C++
1
void consoleColor(const unsigned short text = 15, const unsigned short background = 0) { // }
ошибка есть.

А если написать так:
C++
1
void consoleColor(const unsigned short text = 15, const short background = 0) { // }
то ошибка пропадает.

не могу понять в чём дело
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2020, 12:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Конструктор с параметрами по умолчанию
Возможно ли создать конструктор с параметрами по умолчанию?? а то компилято мне ошибку выдает ...

Функция с параметрами по умолчанию
Помогите сделать прогу, Задание 1 (Функция с умалчиваемыми параметрам) Печать фамилии, курса и...

Конструктор с параметрами по умолчанию
пытаюсь создать класс с параметрами по умолчанию(я да, надеюсь, что я не путаюсь в терминах) ...

Классы и конструктор по умолчанию/с параметрами
Помогите пожалуйста! Необходимо сконструировать класс с заданным набором свойств. В данном случае,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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