Можно ли создать переменную элемента класса шаблона типа без упоминания параметра шаблона?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Можно ли создать переменную элемента класса шаблона типа без упоминания параметра шаблона?

Сообщение Anonymous »

Здесь у меня есть класс шаблонов под названием Header

Код: Выделить всё

using COLUMN_WIDTH = int;
using TITLE = std::string;

template
concept StringView = std::is_same_v;

template
class Header
{
public:
Header(const std::array& iHeaderList);
size_t getSize();
TITLE getTitle(int iIndex);
COLUMN_WIDTH getColumnWidth(int iIndex);
private:
std::array mHeader;
};
< /code>
Я хотел использовать это в переменной -члене другого класса, < /p>
class Table
{
public:
Table();
private:
Header mHeader; //Here I cannot specify `Header` without template parameters.
}
Здесь я не могу указать adherer элементная переменная без указания параметров шаблона. Первый параметр шаблона всегда std :: string_view , я могу упомянуть об этом, но я не знаю size здесь. Он должен быть передан классом, используя эту таблицу .
Я не хочу делать всю таблицу класс как шаблон класс только потому, что он только потому, что этой одной переменной. И я не хочу использовать какой -либо std :: variant , std :: Необязательно && std :: any . Но я не могу думать ни о каком другом решении. Действительно ли невозможно иметь для этого обойти?

Подробнее здесь: https://stackoverflow.com/questions/794 ... t-mentioni
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»