Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years ago.
Hi can anyone help me with proper syntax of function call by reference in mbed compiler.
void swap(int *x, int *y);
int main () { int a = 100; int b = 200;
swap(&a, &b); } void swap(int *x, int *y) { int temp; temp = *x;
- x = *y;
- y = temp; }
1 Answer
8 years ago.
Hello Numair,
You can apply the syntax as below:
#include "mbed.h"
void swap(int& x, int& y);
int main(void) {
int a = 100;
int b = 200;
printf("a = %d\r\n", a);
printf("b = %d\r\n", b);
printf("Calling swap by reference.\r\n");
swap(a, b);
printf("a = %d\r\n", a);
printf("b = %d\r\n", b);
}
void swap(int& x, int& y) {
int temp;
temp = x;
x = y;
y = temp;
}
See https://www.tutorialspoint.com/cplusplus/cpp_function_call_by_reference.htm for more details.
However, there are situations in MBED when one should consider to pass pointers rather then references when designing functions as explained by Mark.