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

WTF не работает простой код на Visual studio 2008(баг?) - C++

Восстановить пароль Регистрация
 
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
05.02.2012, 08:15     WTF не работает простой код на Visual studio 2008(баг?) #1
Взял код из википедии.
http://ru.wikipedia.org/wiki/Switch_...B5.D0.BB.D1.8C
C++
1
2
3
4
5
6
7
8
9
10
int i = 1;
switch (i)
{
    case 0:
    case 1: 
        break;
    case 2: 
        break;
    default:
}
.cpp(10):error C2143: синтаксическая ошибка: отсутствие ";" перед "}"
если добавить после default: break, то ошибки не будет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2012, 08:15     WTF не работает простой код на Visual studio 2008(баг?)
Посмотрите здесь:

Visual Studio C++ 2008 Express Edition не работает C++
C++ Visual studio 2008 C++
C++ Переделать код для Visual Studio 2008 c++
Переделать код С++ (Visual Studio 2008) C++
C++ Переделать код С++ (Visual Studio 2008)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
05.02.2012, 08:28     WTF не работает простой код на Visual studio 2008(баг?) #2
Цитата Сообщение от Chelioss Посмотреть сообщение
Взял код из википедии.
http://ru.wikipedia.org/wiki/Switch_...B5.D0.BB.D1.8C
C++
1
2
3
4
5
6
7
8
9
10
int i = 1;
switch (i)
{
    case 0:
    case 1: 
        break;
    case 2: 
        break;
    default:
}
.cpp(10):error C2143: синтаксическая ошибка: отсутствие ";" перед "}"
если добавить после default: break, то ошибки не будет.
Это просто пример. Вам нужно вписать своё условие.
например
C++
1
2
3
4
5
6
7
8
9
10
int i = 0
switch (i)
{
    case 0:
    case 1: std::cout << "case 0 and 1\n"; 
        break;
    case 2: std::cout << "case 2\n";
        break;
    default: std::cout << "default\n";
}
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
05.02.2012, 08:29  [ТС]     WTF не работает простой код на Visual studio 2008(баг?) #3
Цитата Сообщение от res Посмотреть сообщение
Это просто пример. Вам нужно вписать своё условие.
Не понятно другое. Почему без инструкций это не работает. Допустим, я не хочу на текущем этапе после default писать какие-то инструкции.
KristopherRobin
 Аватар для KristopherRobin
137 / 133 / 6
Регистрация: 11.09.2011
Сообщений: 407
05.02.2012, 08:36     WTF не работает простой код на Visual studio 2008(баг?) #4
так напиши:
C++
1
2
3
4
5
6
7
8
9
10
11
int i = 1;
switch (i)
{
case 0:
case 1:
    break;
case 2:
    break;
default:
    ;
}
твой пример из википедии для языка C, а не C++
ViNew
 Аватар для ViNew
40 / 29 / 3
Регистрация: 16.07.2011
Сообщений: 73
05.02.2012, 08:37     WTF не работает простой код на Visual studio 2008(баг?) #5
Chelioss, тогда просто напиши так
int i = 0;
switch (i)
{
case 0:
case 1: std::cout << "case 0 and 1\n";
break;
case 2: std::cout << "case 2\n";
break;
default:а здесь оставь пусто;
}

будет пустая инструкция!
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
05.02.2012, 09:10  [ТС]     WTF не работает простой код на Visual studio 2008(баг?) #6
Цитата Сообщение от KristopherRobin Посмотреть сообщение
так напиши:
C++
1
2
3
4
5
6
7
8
9
10
11
int i = 1;
switch (i)
{
case 0:
case 1:
    break;
case 2:
    break;
default:
    ;
}
твой пример из википедии для языка C, а не C++
Теперь понятно.
Yandex
Объявления
05.02.2012, 09:10     WTF не работает простой код на Visual studio 2008(баг?)
Ответ Создать тему
Опции темы

Текущее время: 02:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru