sqlite3_exec
いくつかの情報を処理するために、静的 CallBack 関数でSQLite の関数を使用しています。を呼び出したクラスで定義されたファイルに、結果の情報を出力したいと考えていますsqlite3_exec
。私が話していることは、ちょっとこのように見えます。
class MakingTheCall{
static int CallBack(void *NotUsed, int argc, char **argv, char **azColName)
{
for(int x = 0; x < argc; x++)
File << argv[x];
File<<"\n";
}
private:
static ofstream File;
void call(){
sqlite3_exec(database, query, callback, 0, &zErrMsg);
}
};
私が本当に欲しいのは、静的関数がインスタンス固有のものを使用することFILE
です。したがって、どのインスタンスがMakingTheCall
呼び出しを行っても、それは一意の非静的FILE
オブジェクトを渡します。
しかし、静的であり、(私が思うに) コールバックである必要があるため、クラスCallBack
のポインターにアクセスできません。this
したがって、私の考えは、関数がポインターfriend
に到達できる場合です。これは、私がこの投稿を正しくthis
理解していることを前提としています。
自分の思考回路に欠陥があると感じています。this
関数がどちらを使用するかについては、まだ曖昧な点があるように感じます。
この議論のパート 2 として、静的フレンド メソッドが使用される場所の例はありますか? これらは、最初のコメントでここで読んでいるものとは相互に排他的な修飾子ではないので、いつ両方を使用しますか?
私は SQLite と CallBacks を初めて使用するので、人生を楽にしてくれる何かを見落としている可能性があります。void*
ポインターのように、それをどのように使用しますか? やりたいことの鍵のような気がします。
ありがとうございます。