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