sort(...)」への呼び出しに対応する関数がない、エラー
2022-02-12 19:14:34
からの転載です。 https://blog.csdn.net/vintionnee/article/details/19400663
sort(std::vectorSolution::Node::iterator)' の呼び出しにマッチする関数はありません。
sort(,. ,. , cmp)です。
コードが正しいことは確かで、型比較に時間がかかったのですが、いつもこのエラーで催促されます。
そこで、cmp関数はクラスの外で定義する必要があることに気づきました。
コンクリートです。
cmp()
{...}
クラス ソリューション
{ <未定義
...
sort(...)です。
}
理由
cmp はクラスで定義されたメンバ関数です。最初は、「sort(...), ' の呼び出しに一致する関数がありません」というエラーが報告され続けました。その後、このメンバを静的関数として定義したら、問題は解決しました。その理由は、クラスのメンバ関数のプロトタイプに関係があるようです。すべてのメンバ関数は暗黙のポインタ引数、すなわちthisを持っており、これはsortに必要なcomp関数プロトタイプと矛盾しているので、エラーを報告する。静的関数はこの暗黙の引数を持っていません。
クラス内に cmp 関数がある場合、それが呼び出されると、型に this ポインタが追加され、もちろんこれは正しい型ではありません
関連
-
c++ エラー: 'map' は型名ではありません。
-
C++ 文字列における c_str(), data(), copy(p,n) 関数の使用法
-
エラー: コンストラクタ、デストラクタ、または '.' トークンの前に型変換が必要です。
-
致命的なエラー LNK1169: 1つ以上の多重定義されたシンボルが見つかりました 解決策
-
c++のエラー: エラーC2601: 'main' : ローカル関数定義が不正
-
gccコンパイルエラーの一覧
-
c++ 11 random ライブラリの簡単な使い方
-
[エラー]'cout' はこのスコープで宣言されていません。
-
ベクター使用時、ベクター添え字が範囲外、その他類似のエラーが発生する。
-
c++は、ダブルフリーまたは破損(fasttop)が表示されます。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン