Есть ли способ написать оператор if в аргументах функции? - PullRequest
0 голосов
/ 06 мая 2020

Итак, я пытаюсь написать фрагмент кода, в котором при изменении переменной на 1 изменяется цвет текста консоли. Я не хочу писать миллион операторов if, так есть ли способ написать оператор if в аргументах функции? Что-то вроде:

void changeColor(int r, int g, int b, int rB, int gB, int bB, HANDLE *ConsoleHandle) //changes foreground and background text color
    {
        if (*ConsoleHandle != GetStdHandle(STD_OUTPUT_HANDLE))
            *ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(*ConsoleHandle, if (r == 1) { FOREGROUND_RED } | if (g > 1) {BACKGROUND_GREEN}); //etc, etc
    }

Ответы приветствуются.

...