Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2011, 05:06   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Enum. Как выставить нужное значение?

Код:
enum CardSuit
	{
		h, d, c, s
	};

int main(void)
{
  CardSuit cs;
  cs=h;

  string s;

  cs=CardSuit::s;//В билдере это работало, но VC ругается. Как избежать этого, не переименовывая s?
}
TwiX вне форума Ответить с цитированием
Старый 03.09.2011, 12:04   #2
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

У вас два имени в одном пространстве имен оказались. Обычно для решения проблемы просто добавляют преффикс к возможным значениям перечисления, примерно вот так:
Код:
enum CardSuit {cs_h, cs_d, cs_c, cs_c};
Но если вам очень не хочется переименования, то можно 'сделать бочку' с помощью пространства имен:
Код:
namespace CardSuit
{
  enum type {h, d, c, s};
};
Тогда ваш код примет вид:
Код:
int main(void)
{
  CardSuit::type cs;
  cs = CardSuit::h;

  string s;
  cs = CardSuit::s;
}
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 03.09.2011, 15:37   #3
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

cs=::s;
10 символов.
onewho вне форума Ответить с цитированием
Старый 03.09.2011, 18:22   #4
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение
cs=::s;
10 символов.
Вообще-то автору нужно совсем другое.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 03.09.2011, 19:57   #5
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

и что же ему нужно?
onewho вне форума Ответить с цитированием
Старый 03.09.2011, 20:02   #6
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Спасибо. Про namespace, конечно, тупо, но в копилку положу)
А вот про "10 симолов" что-то не понял
TwiX вне форума Ответить с цитированием
Старый 03.09.2011, 20:03   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

10 символов это минимальный лимит сообщения
вообще хорошо что в C++0x есть enum class
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.09.2011, 22:00   #8
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
10 символов это минимальный лимит сообщения
А на что куча пробелов, точка и [COLOR="White"] ?
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 03.09.2011, 22:21   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

личный стиль каждого
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.09.2011, 23:34   #10
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение
cs=::s;
10 символов.
Спасибо. Это ещё лучше, чем пространство имен. Извиняюсь, что сразу не обратил внимания.
TwiX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выставить права доступа? feesta Помощь студентам 1 20.04.2011 22:30
Как выставить координаты? Delphi somebody94 Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 27.06.2010 19:06
Как выставить место по итогам конкурса mityakul Microsoft Office Excel 13 12.04.2010 18:25
Как отключить не нужное оборудование в Windows 7? taimag Win Api 2 21.01.2010 22:00
Как руский выставить? на MYSQL evgenrpo PHP 1 15.12.2009 11:41