Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR CPP

function as argument in another function in c++

/*
 * https://stackoverflow.com/questions/9410/how-do-you-pass-a-function-as-a-parameter-in-c
 */

//! How to use function as argument or pass a function as parameter in in C++

#include <bits/stdc++.h>
using namespace std;

bool compare(int a, int b)
{
    return a > b;
}

//! Way 01
void Way1(int x, int y, bool (&compare)(int a, int b))
{
    (compare(x, y)) ? cout << x << " is bigger than " << y : cout << y << " is bigger than " << x << endl;
}

//! Way 02
void Way2(int a, int b, void (*Way1)(int, int, bool (&func)(int a, int b)))
{
    Way1(a, b, compare);
}

//! Way 03
/* Default argument isn't allowed to be passed */
void Way3(int p, int q, function<void(int, int, void (*Way1)(int, int, bool (&func)(int a, int b)))> Way2)
{
    Way2(p, q, Way1);
}

int main()
{
    Way3(200, 100, Way2);

    return 0;
}
 
PREVIOUS NEXT
Tagged: #function #argument #function
ADD COMMENT
Topic
Name
4+2 =