этот вопрос связан с c ++
есть библиотека, которая объявляет класс с именем Solver
теперь есть много Доменов, которые имеют член "int region"
, что я хочу сделать, это в зависимости от значения региона, я хочу сделать решатель принимает разные аргументы для TS и FS. Я думал о чем-то вроде
template<int region>
struct Decider
{
if(region==1)
{
typedef TSA TS;
typedef FSA FS;
}
else
if(region==2)
{
typedef TSB TS;
typedef FSB FS;
}
}
и позже использовал это как
Decider<region>::TS
Decider<region>::FS
Однако здесь из-за объема if, я полагаю, эта структура бесполезна. Однако я не могу придумать лучшего способа сделать это. Есть предложения?
Все разные TS и FS имеют одинаковый интерфейс. Так что мне не нужно беспокоиться о внутреннем коде.