Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подскажите по поводу enum
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
mempfis_
Добрый день.

Для хранения констант использую enum.

Код
enum {
const0 = 10,
const1 = 1,
};


Появилась необходимость создать два набора констант но с одинаковыми названиями.
Подумал что спасёт такое:

Код
enum enum0 {
const0 = 10,
const1 = 1,
};

enum enum1{
const0 = 10,
const1 = 1,
};


Но компилятор (IAR) ругается говоря что const0 const1 из enum1 уже были объявлены ранее в enum0.

Собственно вопрос как можно объявить два enum так чтобы названия констант в них совпадали?
Буду благодарен за любую помощь в этом вопросе.
zltigo
Цитата(mempfis_ @ Dec 9 2009, 11:58) *
Появилась необходимость создать два набора констант но с одинаковыми названиями.

Долго думали, прежде, чем додумались до такой "необходимости"?
jorikdima
Цитата(mempfis_ @ Dec 9 2009, 11:58) *
Появилась необходимость создать два набора констант но с одинаковыми названиями.

А как вы различать то их в коде будете? smile.gif
Dima_G
Цитата(mempfis_ @ Dec 9 2009, 12:58) *
Собственно вопрос как можно объявить два enum так чтобы названия констант в них совпадали?
Буду благодарен за любую помощь в этом вопросе.


Если на С++, то можно так.

Код
namespace ENUM1
{
  enum
  {
    E_AAA = 1;
  }
}

namespace ENUM2
{
  enum
  {
    E_AAA = 1;
  }
}


* * *
= ENUM1::E_AAA
* * *
= ENUM2::E_AAA
* * *



А зачем оно вам надо?
mempfis_
Код
Долго думали, прежде, чем додумались до такой "необходимости"?


Код
А как вы различать то их в коде будете? :)


Т.е. не получится в enum создать две константы с одинаковыми именами?
В принципе невозможнось сделать это - тоже ответ на мой вопрос.
Буду копать в сторону структур или придётся добавлять к именам констант нолики и еденички. smile.gif

Dima_G огромное спасибо!!!!

По поводу вопросов "долго думали..." или "зачем ето надо...." - в двух словах это значительно упростит понимание присвоения значения параметрам и их считывание для использования в моём проекте.
defunct
Цитата(mempfis_ @ Dec 9 2009, 11:21) *
По поводу вопросов "долго думали..." или "зачем ето надо...." - в двух словах это значительно упростит понимание присвоения значения параметрам и их считывание для использования в моём проекте.

Примерно так:

#define TRUE FALSE /* в двух словах это значительно упрощает понимание присвоения значения параметрам и их считывание для использования в моём проекте. */
bbill
"Имена в различных перечислениях должны быть различными. Значения констант в одном перечислении не обязаны быть различными."

K&R.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.