Шаблонные рекурсивные типы данныхC++

Программы на C++. Форум разработчиков
Anonymous
Шаблонные рекурсивные типы данных

Сообщение Anonymous »

У меня есть такой рекурсивный тип данных:

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

template
struct SomeType {
std::map mapping;
};

SomeType foo;
Это работает нормально, но замена std::map на std::unordered_map приводит к ошибке компиляции из-за неполного типа. Я (или gcc) где-то допускаю ошибку? или это просто часть стандарта?

Мне также хотелось бы, чтобы внутренний контейнер определялся параметром шаблона (например, std::stack и std::queue), но я не могу придумать, как это сделать, поскольку для этого потребуется уже определить SomeType.

Неполный пример:

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

template
struct SomeType {
C mapping;
};

SomeType foo;
Я знаю, что это можно сделать с помощью косвенности во время выполнения, но это не то, что мне нужно.

Подробнее здесь: https://stackoverflow.com/questions/986 ... data-types

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