Невозможно создать 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()... но если я определю в классе, все будет беспорядочно...