Невозможно создать boost::associative_property_map в boost Graph

Со ссылкой на решение вопроса здесь, я получаю ошибку компиляции следующим образом:

в моем графике BOOST::adjacency_list<...> я определяю ассоциативную_карту_приложения следующим образом:

typedef  std::map < int, vertex_descriptor_t > mymap_t;
mymap_t  mymap;
boost::associative_property_map< mymap_t > my_map( mymap );

Теперь, согласно решению выше, оно должно быть правильным, и я должен быть в состоянии использовать функции get и put boost как есть.

но я получаю следующую ошибку:

 In file included from driver.cpp:12:0:
 kernel_traits.hpp:81:54: **error: ‘mymap’ is not a type**
 make: *** [driver.o] Error 1

Я определил выше в классе с именем файл kernel_traits.hpp.

также я передаю этот класс в качестве параметра шаблона другому классу (скажем, kernel1). Мне нужно использовать my_map с get и put в kernel1. Каким будет синтаксис typedefs и typenames в kernel1? пожалуйста помоги.

Есть ли способ использовать make_assoc_property_map? Примеры на сайте Boost хороши для начинающих. Код скомпилирует файл, если я определю все внутри int main()... но если я определю в классе, все будет беспорядочно...

0 ответов

Другие вопросы по тегам