Jul 10, 2024
void display(int);
void display(string);
void display(int a) { cout << a; }
void display(string str) { cout << str; }
display(2); // Calls display(int)
display("Jen"); // Calls display(string)
void add(int, int);
void add(int, int, int);
void display(int);
void display(string);
void func(int, double);
void func(double, int);
void func();
int func(); // Error
void display(int a) { cout << a; }
void display(string str) { cout << str; }
display(3); // Calls display(int)
display("Jen"); // Calls display(string)
void add(int a, int b) { cout << a + b; }
void add(int a, int b, int c) { cout << a + b + c; }
add(2, 3); // Calls add(int, int)
add(2, 3, 4); // Calls add(int, int, int)
void func(int a, double b) { cout << a << b; }
void func(double a, int b) { cout << a << b; }
func(3, 10.4); // Calls func(int, double)
func(10.4, 3); // Calls func(double, int)
void print(int a);
void print(double b);
print(10.2); // Error: Ambiguous matching between print(int) and print(double)
void add(int a, int b);
void add(int a, int b, int c = 0);
add(2, 3); // Error: Ambiguous matching
void func(int a);
void func(int& b);
int x = 6;
func(x); // Error: Ambiguous matching