У меня следующая ситуация: В зависимости от того или иного параметра, что моя функция принимает это должно создавать различные типы:C++ создать динамический тип
Я хочу сделать что-то вроде этого:
if(variant==1){
#define my_type int;
}
else{
#define my_type double;
}
cout<<sizeof(my_type);
, а затем использовать my_type в моем следующем коде.
Так, что в случае варианта = 1 sizeof(my_type)
дает 4 и для варианта = 2 дает 8.
Как это можно сделать? Так или иначе.
Спасибо.
Способ, который вы предлагаете, не может работать, поскольку '# define' работает во время компиляции, но' if' работает во время выполнения. Трудно предположить, что вам следует делать, не зная больше о вашей проблеме. Можете ли вы рассказать нам более подробную картину того, чего вы пытаетесь достичь? –
Это не так, как работают директивы препроцессора. –