Я пытаюсь определить метод класса для отладочной печати, который будет вести себя какprintf
:
inline void debug(const char* fmt,...) __attribute__ ((format (printf, 1, 2)))
Это жалуется на:
error: format string argument not a string type
Я вспомнил, что объявление метода класса имеет неявный параметр this
, поэтому я изменил расположение параметров на 2, 3 :
inline void debug(const char* fmt,...) __attribute__ ((format (printf, 2, 3)))
. и теперь он компилируется, но похоже, что параметры сдвинуты, как если бы параметр this
рассматривался как часть списка аргументов.
Как я могу сообщить функции, что this
не является частью строки, которую я хочу напечатать?