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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
1690 / 877 / 44
Регистрация: 04.06.2008
Сообщений: 5,395
#1

компилируется синтаксически НЕПРАВИЛЬНЫЙ код - C++

09.08.2012, 20:05. Просмотров 371. Ответов 3
Метки нет (Все метки)

То ли я дурак, то ли что. Есть файл main.c

C++
1
2
3
4
5
#include <windows.h>
int main() {
 int x= 'VTIB'; //хахахаха
 return 0;
}
Инсталлируемм MSVS 2010, компилируем из командной строки, напрмер так:
Пуск-> программы -> MSVS 2010-> VIsual Studio Tools-> командная строка VS 2010

Далее будучи в этой командной сроке идём в папку с файлом указанного содержания

Bash
1
cd "Путь к файлу"
А теперь компилим;

Bash
1
cl main.c
На выходе в папке, в которую мы зашли, файлы main.exe и main.obj

++++++++++++++++++++++++++++++++++++++++++++++++++=

Кто-нибудь может объяснить, что всё это значит?

Добавлено через 11 минут
На всякий случай проверил все *.h файлы не предмет наличия "VTIB", нет такой строки!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2012, 20:05     компилируется синтаксически НЕПРАВИЛЬНЫЙ код
Посмотрите здесь:

C++ Код не компилируется
Не компилируется код C++
Неправильный код C++
Компилится синтаксически неверный код C++
C++ не компилируется код в VS 2010
C++ Не компилируется код
C++ Код не компилируется
C++ Код не компилируется
Код не компилируется C++
Не компилируется код C++
C++ Неправильный вывод (код есть)
Не компилируется код C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.08.2012, 20:08     компилируется синтаксически НЕПРАВИЛЬНЫЙ код #2
C++
1
2
3
4
5
6
7
int main()
{
  int x = 'VTIB';
  cout << "x = " << hex << x << endl;
  cout << hex << (int)'V' << (int)'T' << (int)'I' << (int)'B' << endl;
  return 0;
}
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.08.2012, 20:10     компилируется синтаксически НЕПРАВИЛЬНЫЙ код #3
В стандарте описана эта особенность (2.13.2/1). Если символьный литерал содержит больше одного символа, то он имеет тип int и его трактовка и значение оставляются на усмотрение компилятора. GCC вот склеивает эти символы, например.
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.08.2012, 20:16     компилируется синтаксически НЕПРАВИЛЬНЫЙ код #4
mingv только предупреждение выдаёт: multi-character character constant [-Wmultichar]. MSVS 2010 больше четырёх символов не пропускает. mingv - пропускает :
C++
1
2
3
4
5
int main()
{
double x = 'ABCDIFGHIJKLMNOPQRSTUVWXYZ';
return 0;
}
Yandex
Объявления
09.08.2012, 20:16     компилируется синтаксически НЕПРАВИЛЬНЫЙ код
Ответ Создать тему
Опции темы

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