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

Проблема с выводом - C++

Восстановить пароль Регистрация
 
Nicholas Essen
3 / 3 / 0
Регистрация: 02.04.2011
Сообщений: 38
16.12.2011, 03:58     Проблема с выводом #1
Здравствуйте.Приношу извинения за банальный вопрос,но ,к сожалению, никак не могу разобраться самостоятельно.
Проблема:
-Код:
C++
1
2
3
4
5
6
7
     #include "iostream.h"
 
     main()
    {
      cout << "text\n";
      return 0;
    }
-Вопрос:
почему возникают ошибки?

-Пользуюсь:MS Visual C++ 6.0
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HackSign
33 / 33 / 13
Регистрация: 23.11.2006
Сообщений: 109
16.12.2011, 10:26     Проблема с выводом #2
Можно поконкретнее, какие ошибки возникают? скорее всего при объявление подключения хидерного файла. Должны использоваться символы - <iostream.h>, как в примере..

C++
1
2
3
4
5
6
7
8
# include <iostream.h> 
 
int main()
{ 
  cout<<"text \n"; 
  
  return 0;
  }
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
16.12.2011, 10:54     Проблема с выводом #3
Цитата Сообщение от Nicholas Essen Посмотреть сообщение
C++
1
main()
C++
1
int main()
-=ЮрА=-
Заблокирован
Автор FAQ
16.12.2011, 11:08     Проблема с выводом #4
Цитата Сообщение от Nicholas Essen Посмотреть сообщение
-Вопрос:
почему возникают ошибки?
-Пользуюсь:MS Visual C++ 6.0
- какие ошибки - скрин дебага в студию, вот скрин дебага в 6-ке Вашего кода
Миниатюры
Проблема с выводом  
-=ЮрА=-
Заблокирован
Автор FAQ
16.12.2011, 11:14     Проблема с выводом #5
Цитата Сообщение от Nicholas Essen Посмотреть сообщение
"iostream.h"
- означает что при компиляции студия будет искать этот хедер в папке проекта (если вы его туда выкопировали, то скорее всего - это и есть причина, т.к. iostream.h лежит в стандартной папке студии то внутренние включения хедеров в нём могут идти с ""(программисты предполагали что этот файл лежит там где ему положенно), в итоге первое же подключение с "" скажем "some_else_heder.h" для компилятора означает найти его тоже в папке проекта - а его там нет, вот вам и ошибки). Если iostream.h у Вас лежит в папке проекта - уДАЛИТЕ ЕГО оттуда НЕМДЛЕННО!Далее <> подразумевает искать хедер в стандартных директориях об єтом Вам написали
Цитата Сообщение от HackSign Посмотреть сообщение
#include <iostream.h>
- такая запсь избавит от ненужно гемороя.
fasked, даже дедовская студия знала что мєйн можно без типа писать
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
16.12.2011, 11:17     Проблема с выводом #6
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
даже дедовская студия знала что мєйн можно без типа писать
Да кто ее поймет эту студию На всякий случай не помешает сразу правильно написать.
-=ЮрА=-
Заблокирован
Автор FAQ
16.12.2011, 11:21     Проблема с выводом #7
Nicholas Essen, отдельно об этом
Цитата Сообщение от fasked Посмотреть сообщение
main()
Код C++
1
int main()
- в стандарте VC98 было прописано что у мэна должен быть тип int и поэтому корректно было бы вот так записывать
C++
1
2
3
4
int main()
{ 
     return 0;
}
Но ещё в далёком 98-м году люди знали что обязательно кому то захочется всё опустить и можно
а) не указывать тип main - как вы это сделали
б) даже return 0; опустить
Сие вошло в норму стандарта 2010(хотя негласно было в студии испокон веков) см скрин дебага 6-ки под стандарт мэйн 2010 - гы наверное много гуру тут удивятся это увидев
Миниатюры
Проблема с выводом  
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
16.12.2011, 12:10     Проблема с выводом #8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Сие вошло в норму стандарта 2010
Такого стандарта нет. Более того...
А теперь загляните в стандарт 2003 года в приложение Annex C (informative) Compatibility, где описываются различия между C++ и ISO C.
7.1.5 (type specifiers)

Change: Banning implicit int
In C++ a decl-specifier-seq must contain a type-specifier. In the following example, the left-hand column
presents valid C; the right-hand column presents equivalent C++:
C
1
2
3
4
void f(const parm);
const n = 3;
main()
/* ... */
C++
1
2
3
4
void f(const int parm);
const int n = 3;
int main()
/* ... */
Rationale: In C++, implicit int creates several opportunities for ambiguity between expressions involving
function-like casts and declarations. Explicit declaration is increasingly considered to be proper style.
Liaison with WG14 (C) indicated support for (at least) deprecating implicit int in the next revision of C.
Effect on original feature: Deletion of semantically well-defined feature.
Difficulty of converting: Syntactic transformation. Could be automated.
How widely used: Common.
Расово-верные компиляторы с достаточным уровнем предупреждений выдают следующее: warning: ISO C++ forbids declaration of ‘main’ with no type.

Я еще раз советую обратить внимание на строку:
In C++ a decl-specifier-seq must contain a type-specifier.

Так что в данном случае это просто совместимость с Си:
Syntactic transformation. Could be automated.

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
гы наверное много гуру тут удивятся это увидев
Вы слишком высокомерны. Скромнее надо быть, скромнее.

-=ЮрА=-
Заблокирован
Автор FAQ
16.12.2011, 12:18     Проблема с выводом #9
Цитата Сообщение от fasked Посмотреть сообщение
ы слишком высокомерны. Скромнее надо быть, скромнее.
- я ни на что не претендовал, с чего вдруг обратно какие то ножи, кстати за тип написал что мэйн подразумевает void
Цитата Сообщение от fasked Посмотреть сообщение
ак что в данном случае это просто совместимость с Си:
скрин с ворнингом что даром прикладывал??!!!
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
16.12.2011, 12:21     Проблема с выводом #10
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
скрин с ворнингом что даром прикладывал??!!!
А я не зря говорил, в свою очередь, про нормальные компиляторы и уровни предупреждений.
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
кстати за тип написал что мэйн подразумевает void
В этом то все и дело. Но продукту 98-го года выпуска это простительно. Непростительно им пользоваться в наше время.
-=ЮрА=-
Заблокирован
Автор FAQ
16.12.2011, 12:26     Проблема с выводом #11
fasked, если уж на то пошло то вы неверно подсказали - никакого варнинга в случае безтипового мэна в 6-ке не идёт!

Добавлено через 46 секунд
Цитата Сообщение от fasked Посмотреть сообщение
про нормальные компиляторы
- Вам тут чётко указали требования
Цитата Сообщение от Nicholas Essen Посмотреть сообщение
Пользуюсь:MS Visual C++ 6.0
Добавлено через 58 секунд
PS:
Цитата Сообщение от fasked Посмотреть сообщение
Непростительно им пользоваться в наше время.
- мне застрелиться и всем кто пользуется тоже???)
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
16.12.2011, 12:32     Проблема с выводом #12
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Вам тут чётко указали требования
Спасибо, я умею читать. И я уже сказал: "На всякий случай не помешает сразу правильно написать."
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
мне застрелиться и всем кто пользуется тоже?
Те люди, которые вынуждены пользоваться, могут этого не делать. А вот преподавателям, которые заставляют своих студентов писать под MSVC 6.0, Borland C++ 3.1, etc., а также тем, кто в силу собственной упертости или другим непонятным причинам не хочет перейти на более новый продукт - обязательно.
-=ЮрА=-
Заблокирован
Автор FAQ
16.12.2011, 12:45     Проблема с выводом #13
fasked, я ушёл в другой топик, меня достаёт ругаться там где этого совершенно не нужно ТС-у я всё ответил в 4-м и 5-м постах, а дальше пошло на мой взгляд ненужное...

Добавлено через 3 минуты
PS
Цитата Сообщение от fasked Посмотреть сообщение
также тем, кто в силу собственной упертости или другим непонятным причинам не хочет перейти на более новый продукт
- я свободно владею Билдером любой версии, Студиями до 2008 (10-ку просто никак не куплю), Кодблоксом, осваиваю шарп и скоро в том разделе смогу постить, так что давайте не будем, если надо сяду когда разбудят и напишу код в Си/С++ который пойдёт от 6-ке до 10-ки и знаю все часто встречающие подводные камни ранних версий и этот багаж знаний МНЕЕ НИКАК НЕ ВРЕДИТ!Так что давайте не будем дальше обижать друг друга...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2011, 21:31     Проблема с выводом
Еще ссылки по теме:

C++ Проблема с выводом кириллицы на экран
C++ Проблема с выводом времени
Проблема с выводом массива спиралью против часовой стрелки C++

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

Или воспользуйтесь поиском по форуму:
Nicholas Essen
3 / 3 / 0
Регистрация: 02.04.2011
Сообщений: 38
18.12.2011, 21:31  [ТС]     Проблема с выводом #14
Всем большое спасибо,благодаря вам,проблема решена
Yandex
Объявления
18.12.2011, 21:31     Проблема с выводом
Ответ Создать тему
Опции темы

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