- 912 名前:デフォルトの名無しさん mailto:sage [2020/05/11(月) 19:14:29 ID:UkUll7O4.net]
- priority_queueの内部使用コンテナとしては、vector、list、dequeは条件を満たしていると書いてあったので、できるはずだと思ったのですが…
priority_queueは、topメンバ関数で最も優先度の高い要素にしかアクセスできず、 自分で書いたソースでは添え字やイテレータによる直接のアクセスは行っていない (メンバ関数も、.push .pop .top .emptyしか呼び出していない)のですが、 コンパイルエラーの表示では、ご指摘のとおりリバースイテレータがどうのと出ていました error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' :テンプレート引数を 'const std::reverse_iterator<_RanIt> &'に対して 'std::list<_Ty>::_Iterator<_Secure_validation>' から減少できませんでした 'std::operator -' の宣言を確認してください。 これは内部的にイテレータの操作がされておりそこでエラーになっている感じなのでしょうか? algorithmやxutilityの該当箇所を見ても難しすぎてわかりませんorz
|

|