typedef в VC ++ и повышение - PullRequest
       49

typedef в VC ++ и повышение

0 голосов
/ 11 июля 2011

Я изучаю boost multiIndex и следую этому учебнику .

Проблема в том, что я не могу скомпилировать код из раздела Hashed Indices (первый блок кодана этой странице) с использованием Visual Studio 2008: (

Каждый раз, когда я пытаюсь, компилятор c ++ жалуется:

main.cpp(19) : error C2143: syntax error : missing ';' before '<'
main.cpp(19) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

Эти ошибки происходят в typedef в строке 19 в показанном блоке кодавыше. Может кто-нибудь помочь мне пролить свет на это, пожалуйста?

Ответы [ 3 ]

3 голосов
/ 11 июля 2011

Код в этом примере подразумевает использование директивы - using namespace boost::multi_index;.

Либо добавьте указанную директиву использования перед typedef, либо полностью определите multi_index_container, indexed_by, ordered_uniquehashed_unique и т. Д.

2 голосов
/ 11 июля 2011

Их пример кода не включает в себя необходимые пространства имен, что, по-моему, является вашей проблемой. Попробуйте добавить

using namespace boost;
using namespace boost::multi_index;

перед указанным кодом.

1 голос
/ 11 июля 2011

Это проблема пространства имен.Вам понадобится boost :: перед этим multi_index_container и indexed_by, а также всем остальным, что вы извлекаете из boost.

...