Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

функция возвращает int, возвращаемые значения определены в макросах, как сразу выводить определённые макросы? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки и стек http://www.cyberforum.ru/cpp-beginners/thread382658.html
Задача такова: пользователь с клавиатуры вводит строку, после введения запускается обработчик, который удаляет из этой строки символ "t". Обработанная строка заносится в стек. По введенной команде...
C++ Представление в памяти компьютера типа double нужна помощь в представление ВПК (в памяти компютера) тип данних double например нам дано такое: double y = -4.8e1 и хочем чтоб компилятор сделал такое: long w1 = *reinterpret_cast<long*>(&y)+33;... http://www.cyberforum.ru/cpp-beginners/thread382646.html
Подсчитать количество различных пар букв C++
Помогите решить задачу, вернее переделать))) Во введенном слове подсчитать количество различных пар букв. ( например, в слове вавасавасd –5 различных пар букв). Нашёл на форумах такую же на С++,...
C++ Подскажите с чего начать.
Доброго времени суток. По работе появилась необходимость работать с С.До этого изучал Java. Когда начинал Java сразу сел за NetBeans, и упустил некоторые базовые вещи которые за меня делала IDE,...
C++ Динамические массивы http://www.cyberforum.ru/cpp-beginners/thread382612.html
Объясните пожалуйста что такое динамические массивы. Это массивы с не константным количеством элементов? Если так, то как их объявлять?
C++ Сортировка пузырьком. Приветствую, тех кто заглянул в топик. Помогите, пожалуйста, решить задачу на C пузырьковой сортировкой. Отсортировать символьный массив. Сначала цифры по убыванию, затем символы по алфавиту... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
13.11.2011, 13:53
kravam, ты просто не понимаешь, как работают макросы. После препроцессорной обработки (которая происходит еще до самой компиляции), из кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int f (int x) {
 switch (x){
  case 0:
   return nol;
  case 1:
   return odin;
  case 2:
   return dva;
  case 3:
   return tre;
  default:
   return 4;
  }       
 return x;
}
получается код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int f (int x) {
 switch (x){
  case 0:
   return 0;
  case 1:
   return 1;
  case 2:
   return 2;
  case 3:
   return 3;
  default:
   return 4;
  }       
 return x;
}
твоя функция - бессмысленна, используя ее, ты сводишь пользу макросов как осмысленных идентификаторов на нет

Цитата Сообщение от kravam Посмотреть сообщение
Ели бы я видел, какое именно значение возвразщается каждый раз при вызове create_papka () это помоглобы мне исправить ошибки. Но я вижу только цифры, это мне надо залезать в макросы и смотреть, что каждая цифра значит. Вот и всё собнсо. Для упрощения себе жизни я и всё это замутил, чтобы каждый раз в макросы не лезть и не смотреть какую же именно ошибку обозначает то или иное значение.
для подобных случаев обычно пишут функции типа таких:
C
1
2
3
4
5
6
7
8
9
10
void print_error_description(int err_code)
{
   switch(err_code)  /* ну или вариант с массивом строковых описаний */
   {
      case FILE_ALREADY_EXISTS:
          fprintf(stderr, "Specified file already exists\n");
          break;
      /* ... */
   }
}

Не по теме:

Дикая смесь транслита и английских слов выглядит просто-напросто ужасно

1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru