"priority_queue_example.cpp"をビルドしようとすると、私のpriority_queueが宣言されている行の "priority_queue_example.h"を指し示すこれらの警告(およびエラー)が発生します。boost :: priority_queueの警告
mutable boost::heap::priority_queue<myObject*, boost::heap::compare<myObjectPtrCompare> > hp;
が、私はこれが何を意味するのかわからない、と警告は、
1> priority_queue_example.cpp
1>c:\Projects\lib\boost\boost\heap\detail\stable_heap.hpp(102): error C2220: warning treated as error - no 'object' file generated
1>c:\Projects\lib\boost\boost\heap\detail\stable_heap.hpp(102): warning
C4100: 'rhs' : unreferenced formal parameter
1> c:\Projects\lib\boost\boost\heap\detail\stable_heap.hpp(102) : while compiling class template member function 'boost::heap::detail::size_holder<false,size_t>::size_holder(const boost::heap::detail::size_holder<false,size_t> &)'
1> c:\Projects\lib\boost\boost\heap\detail\stable_heap.hpp(189) : see reference to function template instantiation 'boost::heap::detail::size_holder<false,size_t>::size_holder(const boost::heap::detail::size_holder<false,size_t> &)' being compiled
1> c:\Projects\lib\boost\boost\heap\detail\stable_heap.hpp(151) : see reference to class template instantiation 'boost::heap::detail::size_holder<false,size_t>' being compiled
1> c:\Projects\lib\boost\boost\heap\priority_queue.hpp(65) : see reference to class template instantiation 'boost::heap::detail::heap_base<T,myObjectPtrCompare,false,unsigned __int64,false>' being compiled
1> with
1> [
1> T=myObject *
1> ]
1> c:\Projects\priority_queue_example.h(193) : see reference to class template instantiation 'boost::heap::priority_queue<myObject *,boost::heap::compare<myObjectPtrCompare>,boost::parameter::void_,boost::parameter::void_,boost::parameter::void_>' being compiledcompare<ObjectPtrCompare>,boost::parameter::void_,boost::parameter::void
マイPRIORITY_QUEUEが宣言されています。これを修正できますか?
これは私の比較クラスが定義され、
struct myObjectPtrCompare
{
bool operator()(const myObject* lhs, const myObject* rhs) const
{
return (lhs->getProp() < rhs->getProp());
}
};