Dominik1981
Newbie
Hallo zusammen,
ich habe derzeit folgendes Problem : Ein Funktionstemplate muss mit Array's unterschiedlichen Typs zurechtkommen , jedoch soll es (falls der Typ der übergebenen Objekte "Bool" Arrays sind) auf eine bestimmte Weise handeln.
Hier mein Codebeispiel , dass derzeit nicht funktioniert aber evtl meine Intention klarmacht.
Das Problem ist man kann typeid().name() nicht nutzen um mit integer zu vergleichen, daher son dummy.
Ich darf auch die Funktion nicht um Parameter erweitern damit ich einen bekannten Typ übergebe, gegen den ich vergleichen kann. Also was nun ?
ich habe derzeit folgendes Problem : Ein Funktionstemplate muss mit Array's unterschiedlichen Typs zurechtkommen , jedoch soll es (falls der Typ der übergebenen Objekte "Bool" Arrays sind) auf eine bestimmte Weise handeln.
Hier mein Codebeispiel , dass derzeit nicht funktioniert aber evtl meine Intention klarmacht.
Das Problem ist man kann typeid().name() nicht nutzen um mit integer zu vergleichen, daher son dummy.
Ich darf auch die Funktion nicht um Parameter erweitern damit ich einen bekannten Typ übergebe, gegen den ich vergleichen kann. Also was nun ?
Code:
template <typename T>
T dot(T x[],T y[])
{
T res = 0;
bool test[n];
cout <<" "<< typeid(x).name()<<" ";
if ((typeid(x).name() == typeid(test).name()) && (typeid(y).name()== typeid(test).name())) //sind beide Vektoren vom Typ bool?
{
bool result = true; //Annahme das alle gleich sind
for(int i=0 ; i<n ; i++) //Schleife zum testen auf Gleichheit
{
if(x[i] != y[i])
{
result = false;
return result;
}
}
cout<<endl;
return result;
}
for(int i=0 ; i<n ; i++)
res += x[i]*y[i];
return res;
}