可変個引数関数があります:
LogWrite(FILE * fp, int level, const char * filename, const char * function, ...)
次のように呼び出す必要があります。
LogWrite(fp, int Level, __FILE__, __FUNCTION__, "Message: %s", message)
ただし、呼び出しを簡単にするために可変個引数マクロを作成したいと思います。
1: #define LOGWRITE_L1(...) LogWrite(file, 1, __FILE__, __FUNCTION__, ...)
or
2: #define LOGWRITE_L1(file, ...) LogWrite(file, 1, __FILE__, __FUNCTION__, ...)
これは、開発者が以下を使用して呼び出すことができるようにするためです。
LOGWRITE_L1(myfile, "Hello!");
それ以外の
LogWrite(myfile, 1, __FILE__, __FUNCTION__, "Hello!")
ただし、どちらの方法でもコンパイラエラーが発生します。
1: expected expression before '...'
2:'file' undeclared (first use in this function)
これは可能ですか、それとも時間を無駄にしていますか?私はこれまで可変個引数関数を使用したことがないので、よくわかりません。私の関数は機能します...完全な宣言を使用して呼び出し、必要なファイルに書き込みました。