#include <iostream>
using namespace std;

int test(int i) {return i; }

int my_func()
{
    cout << "my_func\n";
    return 1;
}

#define  MY_MACRO  && my_func()

int main(int argc, const char * argv[])
{
    cout << "------------\n";
    test(0) MY_MACRO;
    cout << "------------\n";
    test(2) MY_MACRO;
    cout << "------------\n";
}


