Я экспериментирую с макропрограммами, подобными препроцессорам, поэтому я пытаюсь написать макрос, который вперед объявляет обычные функции. Но когда я собираюсь скомпилировать, он говорит, что строка 2 имеет неправильный синтаксис.Написание препроцессора Функция: Правильно ли синтаксис
Что я делаю неправильно?
#define FORWARD_DECLARE_CUSTOM_FUNCT(fName) "int" #fName "(int id, string msg, string cmd);"
FORWARD_DECLARE_CUSTOM_FUNCT("abc") // LINE 2: Should become "int abc(int id, string msg, string cmd);"
void test()
{
abc(1, "", "");
}
Почему он должен стать ' "ИНТ ..."' а не '' ква ...? – chris
@chris Ok Я удалил все кавычки, но я все еще получаю ошибку компиляции: '#define FORWARD_DECLARE_CUSTOM_FUNCT (fName) int #fName (int id, string msg, string cmd);' –