Ich habe ein sehr einfaches Programm geschrieben, um einen * Operator in einer Array-Vorlage-Klasse zu definieren. Wenn ich versuche zu kompilieren, gibt es mir einen Fehler "illegale Indirektion". Jede Hilfe in dieser Angelegenheit würde sehr geschätzt werden!Fehler C2100 - Illegale Indirection
Dies ist der Betreiber Definition:
template <typename T>
NumericArray<T> NumericArray<T>::operator * (const int factor) const
{
NumericArray<T>* TempArray2 = new NumericArray<T>(Size());
for (int i=0; i<Size(); i++)
{
*TempArray2[i] = ((GetElement(i))*(factor));
}
return *TempArray2;
}
Und das ist die Umsetzung in der Testhauptfunktion:
cout<<((*intArray1)*5).GetElement(0);
cout<<((*intArray1)*5).GetElement(1);
cout<<((*intArray1)*5).GetElement(2);
Irgendwelche Ideen?