Strona 1 z 1
Jak sprawdzić jakiego typu jest zmienna w szablonie klasy?
Napisane: czwartek, 17 czerwca 2010, 19:27
przez mar3
Mam przykładowy szablon funkcji:
Code: Zaznacz cały
template<typename T, typename T2>
T dodaj(T zm1, T2 zm2)
{
return zm1+zm2;
}
Jak sprawdzić jakiego typu jest na przykład zmienna "zm1"?
Re: szablon klasy
Napisane: czwartek, 8 lipca 2010, 18:58
przez Morfidon
Możesz spróbować np. tak:
Code: Zaznacz cały
#include <iostream>
#include <string>
using namespace std;
template<typename T, typename T2>
string dodaj(T zm1, T2 zm2)
{
int isInt;
string isString = " ";
if (typeid(zm1) == typeid(isInt))
return "first argument is int";
else if (typeid(zm1) == typeid(isString))
return "first argument is string";
return "something else";
//return zm1+zm2;
}
int main()
{
string sampleString = "sample text";
cout << dodaj(sampleString, 4) << endl;
return 0;
}
Sorry, że dopiero teraz, ale nie zauważyłem topicu.
Re: Jak sprawdzić jakiego typu jest zmienna w szablonie klasy?
Napisane: niedziela, 1 sierpnia 2010, 19:09
przez mar3
Bardzo dziękuję za pomoc.