C ++でのユーザ定義オブジェクトの優先順位による問題

だから私は学校の割り当てのためにハフマンの圧縮/解凍を書く必要があり、私は周波数を格納するためにプライオリティキューを使うのに問題があります。

The two files that’re giving me headaches are
HCNode.hpp and main.cpp. In the
HCNode.hpp file I’ve overloaded bool
operator<(const HCNode& other)
and in my
main.cpp when I try to initialize a priority queue
like this:

 priority_queue< HCNode, vector < HCNode >, less< HCNode> > freq;

コンパイラは私にエラーの束を投げます

編集:ここではエラーの一つです

/usr/include/c++/4.6/bits/stl_queue.h:391:9: instantiated from
‘std::priority_queue<_Tp, _Sequence,
_Compare>::priority_queue(const _Compare&, const
_Sequence&) [with _Tp = HCNode, _Sequence = std::vector,
_Compare = std::less]’
compress.cpp:134:59: instantiated from here

ほとんどのエラーは、ライブラリと何らかの矛盾があるように見えます。

問題を解決した、教師のコードは不完全でした。しかしこのポストを見た人にありがとう。

ベストアンサー

あなたが掲示したエラーメッセージは正確なエラーメッセージではなく、実際のエラーを引き起こすインスタンス化行です。

The most probable one causing error I think is because the
comparator, which is operator< in this case, is not a const
member function.

それがconstメンバ関数かどうか確認してください。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です