этот вопрос относится к с ++
есть библиотека, которая объявляет класс с именем 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 имеют одинаковый интерфейс. Так что мне не нужно беспокоиться о внутреннем коде.