Aiutatemi per favore!!!
Quando compilo questo file mi esce solo un errore che non riesco ad eliminare!!
chilosa.h riga 46: error : too few template-parameter-list!!!
la riga 46 è quella dove è scritto MyLib::Array...
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <limits>
#include "array1D.h"
#include "mathLib.h"
using namespace std;
template <typename TYPE>
class Fortuna
{
public:
Fortuna (TYPE left, TYPE right, int k)
{
this->left = left;
this->right = right;
this->j = j;
TYPE delta;
TYPE epsilon;
}
TYPE get_left()
{
return left;
}
TYPE get_right()
{
return right;
}
private:
TYPE left;
TYPE right;
TYPE yleft;
TYPE yright;
TYPE Dx;
TYPE intervallo;
TYPE centro;
TYPE centroFcn;
int k;
int j;
};
MyLib::Array1D<double>Fortuna<double>::Calcola(double y (const double x))
{
intervallo = right - left;
Dx = intervallo/1000.0
for (j = 0; j < 1000; j++)
{
cout << "!! j = " << j << endl;
yleft = y(left);
right = left + Dx;
yright = y(right);
cout << "!! left = " << left << "! f(left) = " << yleft << endl;
cout << "!! right = " << right << "! f(right) = " << yright << endl;
if (yleft*yright < (TYPE) 0)
{
yleft = y(left);
yright = y(right);
intervallo = right - left;
if(y(left) == 0 || y(right) == 0)
{
cout << "uno dei valori inseriti e' uno zero della funzione!" << endl;
return(EXIT_SUCCESS);
}
else
{
for (int k = 1; k < 20; k++)
{
intervallo = intervallo/2.0;
centro = left + intervallo;
centroFcn = y(centro);
if (intervallo < delta || abs(centroFcn) < epsilon)
{
return centro;
cout << "Lo zero della funzione e': " << centro << endl;
}
if (y(left) * y(centro) < 0)
{
right = centro;
rightFcn = centroFcn;
}
else
{
left = centro;
leftFcn = centroFcn;
}
}
}
else
{
cout << " !!! NON ESISTONO ZERI IN QUESTO INTERVALLO !!! " << endl;
}
}
return 0;
}
}
e questo e il file .cpp dove richiamo la funzione Calcola
#include <iostream>
#include <cstdlib>
#include "chilosa.h"
using namespace std;
double y(const double x)
{
double y = pow((pow(x,3)-pow (x,2) - x - 1),3);
return y;
}
int main()
{
Fortuna<TYPE>Fortuna(-1.0, 2.0, 1000);
cout << "Lo zero è :" << Fortuna.Calcola(y) << endl;
return 0;
}