Я пытаюсь преобразовать рабочий метод, который печатает аргумент в правильную функцию, но я не уверен в типе переменной.Определить тип переменной
Метод работы у меня есть:
#define WARN(x) std::cout << "WARNING! " << x << "!" << std::endl;
Что я могу затем передать предложение аналогично использования зОго :: COUT
WARN("This is a test warning." << " And this is some more stuff...");
Однако, я считаю, что это должно быть более аккуратно завернутым в вместо функции define.
Пожалуйста, помогите мне понять, как препроцессор интерпретирует переменную x и как я могу преобразовать определение в функцию.
P.S. Я знаю, что я мог бы использовать вариационную функцию, но я бы предпочел не передавать количество аргументов и, скорее всего, избегать вариации.
Не ошибитесь в VARIADIC функции для VARIADIC шаблона, который знает, как передаются много аргументов и их типов. – chris
Я не понимал, что это две разные вещи. Я загляну в шаблон, спасибо! – user7119460
Если это только один аргумент, эта вариационная часть тоже становится излишней. Достаточно обычного шаблона. – chris