У меня есть класс Table и класс Database. Класс Table принимает аргумент шаблона CompileTimeString.
template
class Table
{
public:
//...
};
В классе базы данных я хочу сохранить std::array таблиц. Проблема в том, что имена таблиц различаются.
class Database
{
public:
template
void add_table()
{
//construct a table and add it to the array
}
std::array tables;
};
Все таблицы гарантированно будут известны во время компиляции вместе с их именами. CompileTimeString — это просто абстракция const char[N] с некоторыми удобными функциями. Я хочу добавить таблицы, вызвав add_table(); Добавленные таблицы должны быть сохранены в массиве таблиц. Все это будет сделано во время компиляции.
Есть ли способ добиться того, что я пытаюсь сделать?
Я пробовал варианты следующее:
template
std::array tables;
Подробнее здесь: https://stackoverflow.com/questions/785 ... mplate-arg