Bonjour,
J'utilise Visual studio 2010 avec boost::multi_index. Lorsque je créé un multi_index de ce type :
1 2 3 4 5 6 7 8 9 10 11 12
|
struct byValue{};
typedef boost::multi_index_container<
boost::shared_ptr<Node>,
boost::multi_index::indexed_by<
boost::multi_index::random_access<>,
boost::multi_index::ordered_non_unique<
boost::multi_index::tag<byValue>,
boost::multi_index::const_mem_fun<Node, const std::string& , &Node::getValue>
>
>
> NodeList; |
si la méthode utilisé dans boost::const_mem_fun est virtuelle :
virtual const std::string& getValue(void) const {return m_strValue;}
visual plante a la compilation :
fatal error C1001: An internal error has occurred in the compiler.
1> (compiler file 'msc1.cpp', line 1420)
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1> Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
Si je la passe non virtuelle ca marche normalement.
C'est un peu gênant, savez vous s'il y a un workaround ou patch ?
Partager