THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => C / C++ / C# => Topic started by: portinos on November 06, 2011, 01:47:21 am



Title: Απορία
Post by: portinos on November 06, 2011, 01:47:21 am
Μπορεί η απορία να είναι λίγο άκυρη, αλλά δείτε το λίγο παρακαλώ
Code:
float pe(float r,float (*energy)(float),float (*lspin)(float))
{
return energy(r)*(r*r+ASPIN*ASPIN)-ASPIN*lspin(r);
}

float er(float r,float (*pe)(float,float (*),float (*)),float (*delta)(float),float
(*energy)(float),float (*lspin)(float))
{
return
pe(r,energy,lspin)*pe(r,energy,lspin)-delta(r)*(r*r+(lspin(r)-ASPIN*energy(r))*(lspin(r)-ASPIN*energy(r))+QCARTER);
}
και μου βγάζει αυτό 1 [Warning] passing arg 2 of pointer to function from incompatible pointer type
πιστεύω ότι το λάθος είναι στη σύνταξη της er και στο πως καλείται η pe από την er.
Ευχαριστώ, γιατί έχω κάτι ώρες και δεν την παλεύω άλλο


Title: Re: Απορία
Post by: SolidSNK on November 06, 2011, 03:32:30 am
Κάνε μια αλλαγή τη δήλωση της er, αντί για

Code:
float er(float r,float (*pe)(float,float (*),float (*)),float (*delta)(float),float
(*energy)(float),float (*lspin)(float))

βάλε

Code:
float er(float r,float (*pe)(float,float (*)(float),float (*)(float)),float (*delta)(float),float
(*energy)(float),float (*lspin)(float))

ζήτω η C και οι δηλώσεις της :D


Title: Re: Απορία
Post by: portinos on November 06, 2011, 11:30:50 am
OK σ' ευχαριστώ θα το δω και όπως μου λες. :)


Title: deleted
Post by: BOBoMASTORAS on November 06, 2011, 14:26:29 pm
deleted