| | |
error C2664: 'F_Ite' : cannot convert parameter 1 from 'double *' to 'double'
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: May 2009
Posts: 32
Reputation:
Solved Threads: 0
I am getting an error C2664: 'F_Ite' : cannot convert parameter 1 from 'double *' to 'double'.Will please anybody help me from this problem.I am new in C++.
Thanks
Thanks
C++ Syntax (Toggle Plain Text)
#include<iostream> #include<cmath> #include<algorithm> using namespace std; // you should not use this statement. void F_Ite(double,double,double,double,double,double); // never ever declare global data in C++ //Globally Data_type Declaration & Initialization : double z=0.0001; double NR=0.01; int NI=11; double RF; int main(int argc, char* argv[]) // put the othe arguments for main (int argc, char* argv[]) { //Result Of A Fibonacci_Search Algorithm Operation On A Given Function : std::cout <<"\nThe Function is ' F(x)=e^(-x)+x^2 '"; std::cout <<"\n"; // declare your pointers outside of your function and pass them as parameters to F_Ite double *a,*b,*c,*d,*Fc,*Fd,I; // you could optionally initialise them before passing them to your function int numElement =20; a = new double[numElement]; b = new double[numElement]; c = new double[numElement]; d = new double[numElement]; Fc= new double[numElement]; Fd= new double[numElement]; // now call the function F_Ite(a,b,c,d,Fc,Fd); // Now you can cout your values, or do whatever with them // don't forget to delete them when you're done. // wherever you create something with 'new' you should // always call 'delete' when finished! //User Specify The Interval : std::cout << "\nGive The Initian Point :" <<"\na1 ="; std::cin >> a[1]; std::cout << "\nGive The Final Point :" <<"\nb1 ="; std::cin >> b[1]; //Find Distance Between The Starting Interval : I=(b[1]-a[1]); std::cout << "\nInterval Reduction At The Initial Iteration :"<< "\nI(1) = " << I <<"\n"; //For Accuracy Exactness Need A Small Pertubation At The Final Interval std::cout <<"\nFor Accuracy At The Final Interval, Taken The Small Perturbation z :"; std::cout <<"\nTaken z = 0.0001" << "\n"; //Give The Prescribe Interval Reduction : std::cout <<"\nNeeded The Prescribe Interval Reduction :" <<"\nNR = 0.01 units"; std::cout <<"\n"; //Calculate The Number Of Iteration From The Given Interval Reduction : //By Fibonacci Series std::cout <<"\nAccording To The Interval Reduction"; std::cout <<"\nThe Requring Number Of Iteration :" << "\nNI = 11 times"; std::cout <<"\n"; std::cout <<"\n"; system("pause"); // this is a platform specific call. do not use this. //To Calculate The Ratio of two consecutive Fibo_Num (F(m-1)/Fm) : //Function (F(m-1)/Fm) Declaration : double R_Fibo(); std::cout <<"\nBefore The Start Of Interval Reduction"; std::cout << "\nThe Ratio of two consecutive Fibo_Num :"<<"\nRF = 0.618056"; std::cout <<"\n"; //Here The Beginnins Of Iteration Technique //We Introduce Two Another Points For Getting Two New Interval Of Uncertainty //First Point 'c1' And Second Point 'd1' : c[1]=b[1]-(R_Fibo()*I); std::cout << "\nPlaced A Point c1 Within The Initial Interval :"<< c[1]; d[1]=a[1]+(R_Fibo()*I); std::cout <<"\nPlaced Another Point d1 Within The Initial Interval :"<<d[1]; std::cout <<"\n"; std::cout <<"\n"; //Showing The Starting Reduction : //---------------- //---------------- std::cout <<"At The First Iteration :\n"; std::cout <<"The Value Of a1=" << a[1] << "\n"; std::cout <<"The Value Of b1=" << b[1] << "\n"; std::cout <<"The Value Of c1=" << c[1] << "\n"; std::cout <<"The Value Of d1=" << d[1] ; //Function 'Fc1' at point 'c1' And Function 'Fd1' at point 'd1': //-------------------- // write a function which takes one argument and returns the value. use it here instead of explicit coding. Fc[1]=(exp(-c[1]))+(c[1]*c[1]); std::cout << "\nAt c1 The Function Value Fc1=" << Fc[1]; //std::cout <<"\n"; Fd[1]=(exp(-d[1]))+(d[1]*d[1]); std::cout << "\nAt d1 The Function Value Fd1=" << Fd[1]; std::cout <<"\n"; std::cout <<"\n"; //--------------------- //--------------------- //system("pause"); // this must be defined outside of main and called here explicitly. double In=b[NI]-a[NI]; std::cout <<"\nThe Interval Reduction At The Final Iteration :" <<"\nI(n)= " << In; std::cout<<"\n"; delete [] a; delete [] b; delete [] c; delete [] d; delete [] Fc; delete [] Fd; std::cout << std::endl; system("pause"); //return 0; } //Ratio of two successive terms of Fibonacci Sequence is obtained using Binet's Formula //Function (F(m-1)/Fm) Defination : double R_Fibo() { double n1=1-(sqrt((double)5)); double n2=1+(sqrt((double)5)); double s=(n1/n2); //cout << "\nsThe Value Of s = " << s <<"\n"; double s1=(sqrt((double)5)-1)/2; //cout << "\nThe Value Of s1 = " << s1 <<"\n"; double RF=s1*((1-pow(s,NI))/(1-pow(s,(NI+1)))); //std::cout << "\nThe Ratio of two consecutive Fibo_Num :"<<"\nRF = " << RF <<"\n"; //std::cout << RF; return RF; } // pass values into F_Ite() function void F_Ite(double *a, double *b, double *c, double *d, double *Fc, double *Fd) { //F_Ite Function Start for(int k=1;k<(NI-1);k++) { //Main 'for' Loop Start std::cout <<"\n"; system("pause"); std::cout <<"\n"; std::cout <<"At The "<<k+1<<" Iteration :\n"; if(Fc[k]<Fd[k]) { //Outer 'if' Start a[k+1]=a[k]; cout <<"The Value Of a" << k+1 << "=" << a[k+1] << "\n"; b[k+1]=d[k]; cout <<"The Value Of b" << k+1 << "=" << b[k+1] << "\n"; //c[k+1]=b[k+1]-(0.618034*((1-pow(-0.381966,NI-k))/(1-pow(-0.381966,NI-k+1))))*(b[k+1]-a[k+1]); //cout <<"The Value Of c" << k+1 << "=" << c[k+1] << "\n"; if(k==(NI-1)) { c[k+1]=c[k+1]+z; cout <<"The Value Of c" << k+1 << "=" << c[k+1] << "\n"; } else { c[k+1]=b[k+1]-(0.618034*((1-pow(-0.381966,NI-k))/(1-pow(-0.381966,NI-k+1))))*(b[k+1]-a[k+1]); cout <<"The Value Of c" << k+1 << "=" << c[k+1] << "\n"; } d[k+1]=c[k]; cout <<"The Value Of d" << k+1 << "=" << d[k+1] << "\n"; Fc[k+1]=(exp(-c[k+1]))+(c[k+1]*c[k+1]); std::cout <<"The Value Of Fc" << k+1 << "=" << Fc[k+1] << "\n"; //std::cout <<"The Value Of Fc" << k+1 << "=" << Fc[k] << "\n"; Fd[k+1]=Fc[k]; //std::cout <<"The Value Of Fd" << k+1 << "=" << Fc[k] << "\n"; std::cout <<"The Value Of Fd" << k+1 << "=" << Fd[k+1] << "\n"; } //Outer 'if' Close else { //Outer 'else' Start a[k+1]=c[k]; std::cout <<"The Value Of a" << k+1 << "=" << a[k+1] << "\n"; b[k+1]=b[k]; std::cout <<"The Value Of b" << k+1 << "=" << b[k+1] << "\n"; c[k+1]=d[k]; std::cout <<"The Value Of c" << k+1 << "=" << c[k+1] << "\n"; //d[k+1]=a[k+1]+((0.618034)*((1-pow((-0.381966),(NI-k)))/(1-pow((-0.381966),(NI-k+1)))))*(b[k+1]-a[k+1]); //std::cout <<"The Value Of d" << k+1 << "=" << d[k+1] << "\n"; if(k==(NI-1)) { d[k+1]=d[k+1]+z; std::cout <<"The Value Of d" << k+1 << "=" << d[k+1] << "\n"; } else { d[k+1]=a[k+1]+((0.618034)*((1-pow((-0.381966),(NI-k)))/(1-pow((-0.381966),(NI-k+1)))))*(b[k+1]-a[k+1]); std::cout <<"The Value Of d" << k+1 << "=" << d[k+1] << "\n"; } Fc[k+1]=Fd[k]; //std::cout <<"The Value Of Fc" << k+1 << "=" << Fd[k] << "\n"; std::cout <<"The Value Of Fc" << k+1 << "=" << Fc[k+1] << "\n"; Fd[k+1]=(exp(-d[k+1]))+(d[k+1]*d[k+1]); std::cout <<"The Value Of Fd" << k+1 << "=" << Fd[k+1] << "\n"; //std::cout <<"The Value Of Fd" << k+1 << "=" << Fd[k] << "\n"; } //Outer 'else' Close } //Main 'for' Loop Close //Another 'if' Condition Start But Within The 'for' Loop if(Fc[10]<Fd[10]) { std::cout <<"\n"; std::cout <<"\nAt Final Iteration :\n"; a[NI]=a[NI-1]; b[NI]=d[NI-1]; std::cout <<"The Value Of a11 =" << a[NI] << "\n"; std::cout <<"The Value Of b11 =" << b[NI] << "\n"; } else { a[NI]=c[NI-1]; b[NI]=b[NI-1]; std::cout <<"The Value Of a11 =" << a[NI] << "\n"; std::cout <<"The Value Of b11 =" << b[NI] << "\n"; } } //F_Ite Function Close
Re: error C2664: 'F_Ite' : cannot convert parameter 1 from 'double *' to 'double'
0
#2 Jun 20th, 2009
Re: error C2664: 'F_Ite' : cannot convert parameter 1 from 'double *' to 'double'
0
#3 Jun 20th, 2009
It's better to avoid using
Use
!!
Check out this if you want to know why
system("pause"); Use
cin.get(); as a replacement of system("pause"); , less typing and more portable
!!Check out this if you want to know why
"Never argue with idiots, they just drag you down to their level and then beat you with experience."
•
•
Join Date: May 2009
Posts: 32
Reputation:
Solved Threads: 0
Re: error C2664: 'F_Ite' : cannot convert parameter 1 from 'double *' to 'double'
0
#4 Jun 20th, 2009
•
•
•
•
double *a,*b,*c,*d,*Fc,*Fd,I;
They're all pointers, so to get the contents of a pointer
float f = *a;
F_Ite( *a, *b, *c, *d, *Fc, *Fd );
F_Ite( *a, *b, *c, *d, *Fc, *Fd );
I am getting two Linking error shown below
(1) error LNK2019: unresolved external symbol "void __cdecl F_Ite(double,double,double,double,double,double)" (?F_Ite@@YAXNNNNNN@Z) referenced in function _main
(2) fatal error LNK1120: 1 unresolved externals
•
•
Join Date: May 2009
Posts: 32
Reputation:
Solved Threads: 0
Re: error C2664: 'F_Ite' : cannot convert parameter 1 from 'double *' to 'double'
1
#5 Jun 20th, 2009
•
•
•
•
It's better to avoid usingsystem("pause");
Usecin.get();as a replacement ofsystem("pause");, less typing and more portable!!
Check out this if you want to know why
Thank you very much my frnd
•
•
Join Date: May 2009
Posts: 32
Reputation:
Solved Threads: 0
Re: error C2664: 'F_Ite' : cannot convert parameter 1 from 'double *' to 'double'
0
#6 Jun 20th, 2009
![]() |
Similar Threads
- Cannot convert parameter 1 from 'float *' 'to float' (C++)
- error C2664: 'setStartupDirectory' : cannot convert parameter (C++)
- Help Need for Resolving a C++ error C2664 (C++)
- function files (C++)
- Switch menu help (C)
- error C2664: 'strcpy' : cannot convert parameter 2 from 'const char' to 'const char * (C++)
- error C2664 (C++)
- error C2664 (C++)
- error C2664: cannot convert parameter 1 from 'float (void)' to 'float' (Game Development)
Other Threads in the C++ Forum
- Previous Thread: Debug Error Run-Time Check Failure #2
- Next Thread: Closing QTabWidget
| Thread Tools | Search this Thread |
api array arrays beginner binary bitmap c++ c/c++ calculator char char* class classes coding compile compiler console conversion convert count data database delete desktop developer directshow dll dynamic dynamiccharacterarray email encryption error file forms fstream function functions game getline google graph homeworkhelper iamthwee ifstream input int integer java lib linkedlist linker linux loop looping loops map math matrix memory multiple news node number numbertoword output parameter pointer problem program programming project proxy python random read recursion recursive reference return rpg sorting string strings struct template templates test text tree unix url vector video visualstudio win32 windows winsock word wordfrequency wxwidgets






