Ah. I think I see what you're trying to do, and the answer is no, you can't do this in c++.
You can use the preparser ## operator to create a discrete set a la:
#define QVAR(i) q ## i
Question QVAR(1), QVAR(2), QVAR(3);
will give you variables q1, q2 and q3 of type Question.
However, the...