il y class
class phase
{
public:
phase();
interface *frontiere;
}
class interface
{
public:
interface();
interface (phase *, phase *);
void binaire(int, std::vector <double> &Y, std::vector <double> &F, std::vector <double> &concentration);
void Jacobian_binaire(std::vector <double> &Y, std::vector <double> &F, std::vector <std::vector <double> > &Jacobian2D, std::vector <double> &concentration, void(*nrfunc)(int, std::vector <double> &Y, std::vector <doubl//e> &F, std::vector <double> &concentration));
}
//J`appele cette function
void::interface::Jacobian_binaire(std::vector <double> &Y, std::vector <double> &F, std::vector <std::vector <double> > &Jacobian2D, std::vector <double> &concentration, void(*nrfunc)(int, std::vector <double> &Y, std::vector <double> &F, std::vector <double> &concentration))
{
(*nrfunc)(int, std::vector <double> &Y, std::vector <double> &F, std::vector <double> &concentration);
}
//class newt
class newt
{
public:
interface *func;
interface *jacobian;
void (interface::*nrfuncv)(int, std::vector <double> &Y, std::vector <double> &F, std::vector <double> &concentration);
void (interface::*jacobfunc(std::vector <double> &Y, std::vector <double> &F, std::vector <std::vector <double> > &Jacobian2D, std::vector <double> &concentration, void(*nrfuncv)(int, std::vector <double> &Y, std::vector <double> &F, std::vector <double> &concentration));
void calc(std::vector <double> &x, int *check, std::vector <double> &concentration);
}
void newt::calc(td::vector <double> &x, int *check, std::vector <double> &concentration)
{
(jacobian->*jacobfunc)(x,fvec1,J,concentration, func->*nrfuncv);
}
//Dans le main.cpp
int main()
{
newt nt;
int i=1;
while(mat.produit[i])
{
nt.func = mat.produit[1]->frontiere[1];
nt.funcv=&interface::binaire;
nt.jacobian= mat.produit[1]->frontiere;
nt.jacobfunc = &interface::Jacobian_binaire;
}
}
Les errore:
connot convert void(interface::*)(std::vector <double> &Y, std::vector <double> &F, std::vector <std::vector <double> > &Jacobian2D, std::vector <double> &concentration, void(*nrfuncv)(int, std::vector <double> &Y, std::vector <double> &F, std::vector <double> &concentration)) to
void(interface::*)(std::vector <double> &Y, std::vector <double> &F, std::vector <std::vector <double> > &Jacobian2D, std::vector <double> &concentration, void(interface::*nrfuncv)(int, std::vector <double> &Y, std::vector <double> &F, std::vector <double> &concentration))
J`ai vraimenent besoin d`aide.
//Dans le main.cpp
int main()
{
}