Передать любой тип как аргумент (с указанием типа) в C++

202
11 мая 2019, 21:10

Видел в некоторых исходниках конструкцию типа Function<DWORD>(123). Подскажите пожалуйста:

  1. Как называется конструкция <DWORD>?
  2. Как её использовать?

Нагуглил, что нужен template <typename T>, но как его использовать в заголовочном файле? Указал так же, как и в исходнике, при запуске пишет

"Ошибка LNK2019 ссылка на неразрешенный внешний символ "int __cdecl TestFunc(unsigned long)" (??$TestFunc@K@@YAHK@Z) в функции _main Project1"

Answer 1

Вот простейший пример:

#include<iostream>
template<typename T>
void function(T x) {
  std::cout << x;
}
int main() {
  int a = 42;
  double b = 42.0;  
  function(a);
  function(b);
}

1) template id

2) не понятен вопрос; так и используйте, как сами написали

3) скорее всего, вы сделали объявление в h файле, а реализацию в cpp, поэтому линкер не может найти реализацию

READ ALSO
Посчитать количество слов в строке

Посчитать количество слов в строке

Почему данный код не определяет количество слов? С другими символами работает, а с пробелом никак не хочет

197
UDP-приёмник сообщений на C++ Qt или Python PyQt

UDP-приёмник сообщений на C++ Qt или Python PyQt

Необходимо разработать UDP-приёмник, принимающий строку данных от сервера на другом ПК, и помещающий специнформацию в окно в соответствии...

174
Как вывести время на компьютере в c++?

Как вывести время на компьютере в c++?

Для кода нужно на вывести в цикле While, внутри оператора if время на ПК

200
площадь покрываемой фигуры из n прямоугльников

площадь покрываемой фигуры из n прямоугльников

На плоскости дан набор из N прямоугольников, заданных массивом [x1, y1, x2, y2], где (x1, y1) координаты нижнего левого угла, а (x2, y2) координаты верхнего...

167