How the PLUS macro work if i pass two strings to it, and it will parse them as the enum value? Thanks in advance. Sorry that i can't express myself too clearly.
#include "stdio.h"
#include <string>
#include <iostream>
using namespace std;
#define PRINT(Y) #Y
#define PLUS(X, Y) X+Y
int main( int argc, char *argv[] )
{
    typedef enum {
        FIRST,
        SECOND,
        THIRD
    };
    const char *a="THIRD", *b="SECOND";
    cout << PRINT(THIRD+SECOND is: ) << PLUS(a, b) << endl;
    return 0;
}
 
    