ожидаемое имя шаблона перед маркером «<»

0

Я новичок в C++. Попытка перенести программу на Windows на Linux. Используемая платформа - unbuntu 13.03. Компилятор g++.

Вот проблематичный код.

class CMapIDNames : public map< IDKey, string, CIDKeyLess >
{
} mapOfIDNames;

Ошибки: ошибка: ожидаемое имя шаблона перед '<токеном

Пытался включить <functiontal>, а namespace::std, не помогает. Спасибо за ваше время.

Теги:
templates

1 ответ

4

Вам нужно включить <map> а ссылка - как std::map. Вам также кажется, что отсутствует заголовок <string>.

#include <map>
#include <string>

class CMapIDNames : public std::map< IDKey, std::string, CIDKeyLess >
{
};

Но обратите внимание, что стандартные библиотечные контейнеры не предназначены для публичного наследования. Вы, конечно, не должны использовать их полиморфно.

  • 0
    Спасибо, Юанчопанза. Это решает проблему. Хорошего дня!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню