Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
semen_semen
0 / 0 / 0
Регистрация: 14.11.2007
Сообщений: 6
#1

Почему VC++ не понимает cout?? - C++

14.11.2007, 16:02. Просмотров 2078. Ответов 13
Метки нет (Все метки)

Помогите новичку!!
При компиляции win32 console application VC++ дает 3 ошибки на следующий фрагмент
C++
1
2
3
4
5
6
#include <iostream.h>
{
...
    cout << ' (unsigned)int = ' << sizeof(int) << endl;
...
}
Может кто чем поможет???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2007, 16:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему VC++ не понимает cout?? (C++):

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout - C++
Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout. Это фрагмент со структурами: ...

Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream - C++
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска...

Почему компилятор не понимает тип bool? - C++
#include &lt;stdio.h&gt; #include &lt;iostream .h&gt; #include &lt;fstream.h&gt; #include &lt;iomanip.h&gt; #include &lt;math.h&gt; #include &lt;string.h&gt; ...

Почему не работает cout? - C++
#include &lt;iostream&gt; #include &quot;stdafx.h&quot; #include &lt;iomanip&gt; using namespace std; void main() { cout &lt;&lt; &quot;123&quot;; ...

Cout 16х выводит почему? - C++
#define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; using namespace std; class MyString { private: char* Buffer; ...

Почему используется printf, а не cout? - C++
#include &lt;iostream.h&gt; void main() { printf(&quot;hello world&quot;); } почему void main() а не main(),почему printf а не cout...

13
Brother
14.11.2007, 18:21 #2
Первое. Какие именно ошибки?
Второе. Сделай так
C++
1
2
3
4
5
6
7
#include <iostream>
 
{
...
  std::cout << ' (unsigned)int = ' << sizeof(int) << std::endl;
...
}
Префикс std:: означает, что необходимо пользоваться cout и endl из пространства имен (куда cout и помещен в соответствии со стандартом С++)
И iostream пиши без .h
Третье. Проверь, что ты создеещь именно консольное приложение.
Вот и все 8)
b_lol_b
0 / 0 / 0
Регистрация: 01.11.2007
Сообщений: 21
19.11.2007, 15:27 #3
Потому что надо пользоваться библиотекой ввода-вывода 'iostream.h'
А в stdio cout не определен
0
b_lol_b
0 / 0 / 0
Регистрация: 01.11.2007
Сообщений: 21
19.11.2007, 15:31 #4
ssory, переклинило меня..
#include 'iostream.h'
...
и нет проблем
0
Brother
19.11.2007, 15:35 #5
Во-первых, причем тут stdio???
Во-вторых, пользоваться все-таки желательно именно <iostream>, где все помещено в пространство имен std
Так рекомендовал комитет по стандартизации C++, куда, кстати, входит и Страуструп
Brother
19.11.2007, 15:37 #6
Да, вот это мы реактивные ребята!
Не прошло и пяти минут, как оба написали ответ на сообщение
b_lol_b
0 / 0 / 0
Регистрация: 01.11.2007
Сообщений: 21
19.11.2007, 15:49 #7
а какая разница:
#include 'iostream.h'

или
#include <iostream>

std::...
???
заранее благодарен...
0
Brother
19.11.2007, 16:07 #8
'Во-первых, это красиво' (шутка)

Во-вторых, помещение стандартных классов, функций и пр. в пространство std исключает конфликты имен.

В-третьих, между 'iostream.h' и <iostream> существуют 'настоящие' различия.

Отсылаю к статье 'Differences in iostream Implementation' в MSDN.
msdn.microsoft.com/library/en-s/vccore98/HTML/_core_differences_in_iostream_implementation.asp

Коротко - в классы потоков добавлены дополнительные методы и исключены некоторые старые, назначение которых было признано неадекватным.
Brother
19.11.2007, 16:09 #9
Адрес длинный, я там ошибочку допустил...
Посмотри msdn.microsoft.com и в поле поиска введи фразу 'Differences in iostream Implementation'
b_lol_b
0 / 0 / 0
Регистрация: 01.11.2007
Сообщений: 21
19.11.2007, 16:18 #10
спасибо...
Тогда гораздо удобнее вообще написать:
using namespace std;

и потом просто:
cout<<...
cin>>..
и.т.д.
0
Brother
19.11.2007, 16:26 #11
Тогда не получится 'Во-вторых, помещение стандартных классов, функций и пр. в пространство std исключает конфликты имен.'
Пространства имен вобщем-то и были предложены как раз для того, чтобы избегать 'самостоятельного' совмещения пространств имен, которое может быть явно достигнуто посредством using namespace...
Более мягкая форма using std::cout приведет к тому же эффекту
cout << i;
но и она врядли может приветствоваться, разве что если область видимости не велика и ограничивается десятью-пятнадцатью строками кода...
using namespace std на уровне целого проекта, по моему мнению, безрассудство...
b_lol_b
0 / 0 / 0
Регистрация: 01.11.2007
Сообщений: 21
19.11.2007, 16:32 #12
спасибо
0
Brother
19.11.2007, 16:40 #13
Кстати, совмещение пространств имен может 'вылезти боком' не сразу...
Например,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace A{
    int X,Y,Z,L;
}
 
namespace B{
    int I,J,K,L;
}
 
namespace C{
    using namespace A;
    using namespace B;
    X = 10;
    I = 20;
}
Пройдет неделя работы над проектом... другая... и только тогда будет дописан в пространство C код
C++
1
    L = 5;
И компилятор потребует пояснить - что имеется в виду - A::L или B::L...
Это не беда, конечно, но может доставить неудобства.
b_lol_b
0 / 0 / 0
Регистрация: 01.11.2007
Сообщений: 21
19.11.2007, 16:43 #14
да, что-то я вполне очевидную вещь пропустил...Спасибо
просто в огромных проектах не учавствовал...и опыта мало...наверно
0
19.11.2007, 16:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2007, 16:43
Привет! Вот еще темы с ответами:

Почему Linux понимает русский язык, и как разучить его это делать? - C++
Здравствуйте! Зная, что в Linux принята неравномерная кодировка UTF-8, я удивлялся, как считай однобайтовый тип char позволяет...

Почему не выводится 3-тья команда cout? - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { float...

Почему gcc ругается на std::cout? - C++
Проблема такая: работаю на Mac, установил Xcode, запускаю gcc в командной строке. Имеется элементарная программка: #include...

Почему не работает cout в перегруженной функции? - C++
Всем привет. Есть простое заданеие из первых уроков учебника Шитдта о перегрузке функции. Все компелится и работает если бы не одно НО....


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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