I'm trying to return the pointer to the variable that has the bigger value using pointers & and *. Below is the source code for my main.cc, functions.cc, and functions.h files. What did I do wrong here? I have also posted the error that it gave me.
ERROR STATEMENT:
functions.cc:9:10: error: cannot initialize return object of type 'int *' with
an lvalue of type 'int'
return *a;
^~
functions.cc:11:10: error: cannot initialize return object of type 'int *' with
an lvalue of type 'int'
return *b;
^~
2 errors generated.
make: *** [functions.o] Error 1
main.cc
Code:#include <string> #include <cstdio> #include <vector> #include "functions.h" using namespace std; int main( int argc, char** argv ) { int x = 100; int y = 200; int result = 0; // find out which of the two variables (x and y) is the largest pointerToMax(&x, &y); }
functions.cc
Code:#include <string> #include <cstdio> #include <vector> #include "functions.h" using namespace std; int* pointerToMax(int* a, int* b) { if(a > b) { return *a; } else { return *b; } } // end of pointerToMax
functions.h
Code:#ifndef FUNCTIONS_H #define FUNCTIONS_H int* pointerToMax(int* a, int* b); #endif




Reply With Quote
