Шаблонные рекурсивные типы данных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
Ответить

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

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

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

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

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