Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
XenoZD

#define

Есть большой кусок логики и есть потребность в выводе сообщений игроку при тестировании, но не на основном сервере, а так же есть идея реализовать это таким образом

#define _TEST_
#ifdef _TEST_
	#define SendMessage(a, b) \
		(1 + 2)
//Просто чтобы заполнить пустоту, ибо я не помню ничего наподобие pass в пайтоне
#endif

class Foo
{
	void Do()
	{
		message = "1";
		SendMessage(player, message); //Должно стать "1+2;"
		//код
		message = "2";
		SendMessage(player, message);
		//ещё код
		message = "3";
		SendMessage(player, message);
	}
}
		

Чуть позже попробую сам, если сработает - будет одной из идей для простого вывода логов (взамен конструкциям в 4 строчки на каждом выводе), иначе - будет вопросом, что могло пойти не так

Изменено пользователем XenoZD (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Вроде работают только тип дейфайнов как с _TEST_ у тебя это сделано. А впихнуть в них код вроде нельзя

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MagicByte MagicByte MagicByte
  • 0
14 часов назад, OliverQueen сказал:

Вроде работают только тип дейфайнов как с _TEST_ у тебя это сделано. А впихнуть в них код вроде нельзя

Все три конструкции (#define _TEST_, #define Something Something_Another, #ifdef do #else do_else #endif) работают по отдельности, однако соединить их воедино пока не получилось - ругается на точку запятой, которая при любом раскладе остаётся в строке после замены

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
11 часов назад, XenoZD сказал:

Все три конструкции (#define _TEST_, #define Something Something_Another, #ifdef do #else do_else #endif) работают по отдельности, однако соединить их воедино пока не получилось - ругается на точку запятой, которая при любом раскладе остаётся в строке после замены

Ну назначить дефайн то можно, а вот использовать его в коде не получится, как раз из-за ошибок с точкой запятой, возможно есть вариант как он работает, типо добавить какие-то знаки к нему, но я пока не находил ничего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка