Cerința
Folosind doar directive #define
, construiți o funcție CHECK
, asemenea funcției IIF
din SQL, care are 3 parametrii:
- Primul parametru poate fi
0
sau1
. - Al doilea parametru poate fi de orice tip. Funcția va returna acest parametru dacă primul parametru este
1
. - Al treilea parametru poate fi de orice tip. Funcția va returna acest parametru dacă primul parametru este
0
.
Funcția va fi folosită astfel: (în acest caz funcția returnează “but this will”)
std::cout<<CHECK(0, "this will not be returned", "but this will");
Exemplu:
Apelare
CHECK(0, "this is ONE", 10)
Valoare returnată
10
Important
Soluţia propusă va conţine doar secvența de directive #define
. ORICE APARȚIE A CUVÂNTULUI if
SE VA DEPUNCTA. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei. Exemplu:
#define FOO(x) Bar ## x #define Barfoo "FOOBAR"