C++classプローブ


leetcodeがc++で問題をブラシするとき、vscodeにコードをコピーして実行しようとしたが、classの関数を呼び出すことができないという問題にぶつかった.
1.classの位置
classはmainに書く必要はありません.mainの上に書けばいいです.
2.publicとprivate
publicのデータと関数は外部アクセスを許可し、privateのデータと関数は外部アクセスを許可しない.通常leetcodeが与えるテンプレートはSolutionというclassであり、その下にpublicの関数があり、解答者はその中で答えを書く必要があります.
3.classの関数を呼び出す
この問題は午後のデバッグに時間を費やした.印象呼び出し関数Classname::membernameは常に失敗し、提示エラーは C/C++(245)であり、その後、資料を調べてからpublicに対する関数が発見され、静的staticClassname::menbernameで呼び出されるべきであれば、非静的関数はclassname.membernameで呼び出されるべきである.呼び出しメソッドを変更した後、 C/C++(254)というエラーが発生したことに気づきました.調べたところ、class Solutionには解答の関数を記入するだけで、データフォーマットを与える必要もないので、私のデータはこのclassとは関係ありません.最後に,関数をstaticに変更し,Classname::membername呼び出しを用いてこの問題を解決した.
まとめ
leetcodeテンプレートをvscodにコピーして作成する場合は、関数名にstaticを付け、mainで呼び出すときに対応するメソッドを使用します.