Есть такой примитивный код.
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
template<typename T> void Fun(T a[]) //здесь я использую шаблон чтобы
{ //программа сама определила какой тип
} //массива будет передан в функцию
int _tmain(int argc, _TCHAR* argv[])
{
double mas[6]={1,2,3,4,5,6},//
Fun(reinterpret_cast <double*>(mas));
// здесь вызывается функция и если массив не одномерный как в моём случае
//требуется запись reinterpret_cast и указание типа массива с которым будем
//работать функция
_getch();
return 0;
}
Значит вопрос в следующем: как сделать так чтобы в этом месте reinterpret_cast можно было использовать механизм, который определит тип массива, так как в разработке предполагается работа со всеми типами массивов. которые существуют в природе начиная от int и заканчивая string? Нужно создать универсальный модуль определяющий тип массива. Может кто-нибудь помочь решить эту головоломку?
Что-то подобное Вам подойдет?
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
template<typename T>
void function(T a)
{
//some important stuff
}
int main()
{
double mas[6] = { 1,2,3,4,5,6 };
function(mas);
}
Продвижение своими сайтами как стратегия роста и независимости