TCOesterle
asked on
Problems with returning values, using dereferencing...error C2556 error C2371
I had to write a program for class that requires sending variables by dereferencing, and returning a value through two functions.
I apologize for the lack of documentation.
Please help me!
All headers included in ptrphead.h.
#include "ptrphead.h"
void ValueF();
double GenerateF(double &NumberV);
double DivideF(double &NumberV, double Divisor);
void Halt();
void ClearS();
void ValueF()
{
double NumberV;
double *NumPtr = &NumberV;
double Manipulated;
ClearS();
cout << "Please enter a number\n\t>";
cin >> *NumPtr;
cout << "\n\n";
cout << "Original:\t" << NumberV << "\n";
// GenerateF(NumberV);
Manipulated = GenerateF(NumberV);
cout << Manipulated;
return;
}
double GenerateF(double &NumberV)
{
double Divisor;
double *DivPtr = &Divisor;
double Manipulated;
srand(static_cast<unsigned >(time(NUL L)));
*DivPtr = (rand() % 10) + 1;
// DivideF(NumberV, Divisor);
Manipulated = DivideF(NumberV, Divisor);
return(Manipulated);
}
void DivideF(double &NumberV, double Divisor)
{
apvector<double>Quotients( 4);
double Manipulated;
int Counter=0;
do{
if(Counter<4)
{
Quotients[Counter] = NumberV / Divisor;
NumberV = NumberV / Divisor;
}
else
{
Manipulated = NumberV / Divisor;
}
Counter++;
}
while (Counter<5);
cout << setw(10) << "Cycle"
<< setw(10) << "Quotient\n\n";
for(Counter=0;Counter<4;Co unter++)
{
cout << setw(10) << (Counter + 1)
<< setw(10) << Quotients[Counter];
cout << "\n";
}
NumberV = NumberV / 2;
return(Manipulated);
}
C:\Documents and Settings\TOesterle\Desktop \PtrPracti cal\ptrpim p.cpp(61) : error C2556: 'void __cdecl DivideF(double &,double)' : overloaded function differs only by return type from 'double __cdecl DivideF(double &,double)'
c:\documents and settings\toesterle\desktop \ptrpracti cal\ptrphe ad.h(20) : see declaration of 'DivideF'
C:\Documents and Settings\TOesterle\Desktop \PtrPracti cal\ptrpim p.cpp(61) : error C2371: 'DivideF' : redefinition; different basic types
c:\documents and settings\toesterle\desktop \ptrpracti cal\ptrphe ad.h(20) : see declaration of 'DivideF'
I apologize for the lack of documentation.
Please help me!
All headers included in ptrphead.h.
#include "ptrphead.h"
void ValueF();
double GenerateF(double &NumberV);
double DivideF(double &NumberV, double Divisor);
void Halt();
void ClearS();
void ValueF()
{
double NumberV;
double *NumPtr = &NumberV;
double Manipulated;
ClearS();
cout << "Please enter a number\n\t>";
cin >> *NumPtr;
cout << "\n\n";
cout << "Original:\t" << NumberV << "\n";
// GenerateF(NumberV);
Manipulated = GenerateF(NumberV);
cout << Manipulated;
return;
}
double GenerateF(double &NumberV)
{
double Divisor;
double *DivPtr = &Divisor;
double Manipulated;
srand(static_cast<unsigned
*DivPtr = (rand() % 10) + 1;
// DivideF(NumberV, Divisor);
Manipulated = DivideF(NumberV, Divisor);
return(Manipulated);
}
void DivideF(double &NumberV, double Divisor)
{
apvector<double>Quotients(
double Manipulated;
int Counter=0;
do{
if(Counter<4)
{
Quotients[Counter] = NumberV / Divisor;
NumberV = NumberV / Divisor;
}
else
{
Manipulated = NumberV / Divisor;
}
Counter++;
}
while (Counter<5);
cout << setw(10) << "Cycle"
<< setw(10) << "Quotient\n\n";
for(Counter=0;Counter<4;Co
{
cout << setw(10) << (Counter + 1)
<< setw(10) << Quotients[Counter];
cout << "\n";
}
NumberV = NumberV / 2;
return(Manipulated);
}
C:\Documents and Settings\TOesterle\Desktop
c:\documents and settings\toesterle\desktop
C:\Documents and Settings\TOesterle\Desktop
c:\documents and settings\toesterle\desktop
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Geez, sorry i missed that. DUMB mistake.
Thanks for the help.
Thanks for the help.
You are most welcome.
>> DUMB mistake.
That happens to all of us from time to time. :-)
That happens to all of us from time to time. :-)
as void if it returns double?