Делал функцию
bool _func(int a, char*b ,char* lpbuf);
#define func(__LINE__, __FILE__, buf ) _func( a, b , buf)
все нормально робит
потребовалась функция с переменным числом аргументов, пытаюсь ее переопределить
bool _func(int a, char*b ,char* lpFormat, ...);
#define func(__LINE__, __FILE__,format,...) _func( a, b , lpFormat, ....)
при компиляции выдает ошибки
Как это сделать?
Re: Функции с переменным числом аргументов и переопределение
все нормально робит
потребовалась функция с переменным числом аргументов, пытаюсь ее переопределить
bool _func(int a, char*b ,char* lpFormat, ...);
#define func(format,...) _func( __LINE__, __FILE__ , lpFormat, ....)
при компиляции выдает ошибки
Как это сделать?
Re[2]: Функции с переменным числом аргументов и переопределе
Здравствуйте, MT-Wizard, Вы писали:
MW>Здравствуйте, Niten, Вы писали:
N>>Делал функцию N>>... N>>#define func(__LINE__, __FILE__,format,...) _func( a, b , lpFormat, ....)
N>>при компиляции выдает ошибки N>>Как это сделать?
MW>У вас в дефайне 3 точки, а в вызове — 4. MW>(шутка)
MW>Если это не компилятор с полной поддержкой С99, то макросы с переменным числом агрументов не поддерживаются вовсе.
Visual C++ 2008 ?
Re: Функции с переменным числом аргументов и переопределение
N>потребовалась функция с переменным числом аргументов, пытаюсь ее переопределить N>bool _func(int a, char*b ,char* lpFormat, ...); N>#define func(__LINE__, __FILE__,format,...) _func( a, b , lpFormat, ....)
Есть два пути:
Первый — использовать "эллиптические" параметры макроса __VA_ARGS__
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, Niten, Вы писали:
N>>Делал функцию N>>bool _func(int a, char*b ,char* lpbuf); N>>#define func(__LINE__, __FILE__, buf ) _func( a, b , buf)
N>>все нормально робит
К>Правда нормально? Даже с учётом того, что ты использовал стандартные макросы __FILE__ и __LINE__ как имена аргументов макроса? К>Может, там было что-то К>
N>>потребовалась функция с переменным числом аргументов, пытаюсь ее переопределить N>>bool _func(int a, char*b ,char* lpFormat, ...); N>>#define func(__LINE__, __FILE__,format,...) _func( a, b , lpFormat, ....)
К>Есть два пути: К>Первый — использовать "эллиптические" параметры макроса __VA_ARGS__ К>