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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
ШурикМартыненко
4 / 4 / 1
Регистрация: 27.03.2013
Сообщений: 110
#1

[Error] 'ostream' does not name a type - C++

12.01.2014, 16:28. Просмотров 2086. Ответов 3
Метки нет (Все метки)

C++
1
friend ostream& operator<<(ostream&, const string&);
- вот эта строка.
Весь код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
            #include <iostream>
            #include <string.h>
            #include <fstream>
 
            class string {
               struct srep {
                 char* s;       // ????????? ?? ??????
                 int n;         // ??????? ????? ??????
                 srep() { n = 1; }
               };
               srep *p;
 
            public:
              string(const char *);   // string x = "abc"
              string();               // string x;
              string(const string &); // string x = string ...
              string& operator=(const char *);
              string& operator=(const string &);
              ~string();
              char& operator[](int i);
 
              friend ostream& operator<<(ostream&, const string&);
              friend istream& operator>>(istream&, string&);
 
              friend int operator==(const string &x, const char *s)
                { return strcmp(x.p->s,s) == 0; }
 
              friend int operator==(const string &x, const string &y)
                { return strcmp(x.p->s,y.p->s) == 0; }
 
              friend int operator!=(const string &x, const char *s)
                { return strcmp(x.p->s,s) != 0; }
 
              friend int operator!=(const string &x, const string &y)
                { return strcmp(x.p->s,y.p->s) != 0; }
           };
            string::string()
           {
             p = new srep;
             p->s = 0;
           }
 
           string::string(const string& x)
           {
             x.p->n++;
             p = x.p;
           }
 
           string::string(const char* s)
           {
             p = new srep;
             p->s = new char[ strlen(s)+1 ];
             strcpy(p->s, s);
           }
 
           string::~string()
           {
             if (--p->n == 0) {
                delete[]  p->s;
                delete p;
             }
           }
           string& string::operator=(const char* s)
          {
            if (p->n > 1) {  // ????????????? ?? ?????? ??????
                p->n--;
                p = new srep;
            }
            else    // ??????????? ?????? ?? ?????? ?????????
                delete[] p->s;
 
            p->s = new char[ strlen(s)+1 ];
            strcpy(p->s, s);
            return *this;
          }
 
          string& string::operator=(const string& x)
          {
            x.p->n++;  // ?????? ?? ?????? ``st = st''
            if (--p->n == 0) {
               delete[] p->s;
               delete p;
            }
            p = x.p;
            return *this;
          }
          ostream& operator<<(ostream& s, const string& x)
          {
             return s << x.p->s << " [" << x.p->n << "]\n";
          }
          istream& operator>>(istream& s, string& x)
          {
             char buf[256];
             s >> buf;   // ненадёжно, возможно переполнение buf
             x = buf;
             cout << "echo: " << x << '\n';
             return s;
          }
           void error(const char* p)
          {
            cerr << p << '\n';
            exit(1);
          }
 
        char& string::operator[](int i)
        {
         if (i<0 || strlen(p->s)<i) error("недопустимое значение индекса");
           return p->s[i];
        }
        int main()
         {
           string x[100];
           int n;
 
           cout << " здесь начало \n";
 
           for ( n = 0; cin>>x[n]; n++) {
               if (n==100) {
                  error("слишком много слов");
                  return 99;
               }
               string y;
               cout << (y = x[n]);
               if (y == "done") break;
 
           }
           cout << "теперь мы идем по словам в обратном порядке \n";
           for (int i=n-1; 0<=i; i--) cout << x[i];
           return 0;
         }
Ну, так же там есть подобные ошибки.
Лог:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
22  22  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Error] 'ostream' does not name a type
23  22  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Error] 'istream' does not name a type
87  11  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Error] 'ostream' does not name a type
91  11  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Error] 'istream' does not name a type
D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   In function 'void error(const char*)':
101 13  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Error] 'cerr' was not declared in this scope
101 13  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Note] suggested alternative:
1   0   D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   In file included from main.cpp
63  18  c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.7.1\include\c++\iostream    [Note] 'std::cerr'
102 19  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Error] 'exit' was not declared in this scope
D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   In function 'int main()':
115 12  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Error] 'cout' was not declared in this scope
115 12  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Note] suggested alternative:
1   0   D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   In file included from main.cpp
62  18  c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.7.1\include\c++\iostream    [Note] 'std::cout'
117 25  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Error] 'cin' was not declared in this scope
117 25  D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   [Note] suggested alternative:
1   0   D:\Проекты с++\ООП\ЛБ 3, В 8\main.cpp   In file included from main.cpp
61  18  c:\program files (x86)\dev-cpp\mingw64\lib\gcc\x86_64-w64-mingw32\4.7.1\include\c++\iostream    [Note] 'std::cin'
Подскажите, пожалуйста, где, что, как?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2014, 16:28     [Error] 'ostream' does not name a type
Посмотрите здесь:

E2094 'operator<<' not implemented in type 'ostream' for arguments of type 'Binary' - C++
Здравствуйте, уважаемые форумчане, выкидываю код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;windows.h&gt; class Binary { ...

friend ostream &operator<<(ostream &stream, MyClass o); - C++
Что означает данная строчка которую обычно пишут в конце класса? friend ostream &amp;operator&lt;&lt;(ostream &amp;stream, MyClass o);

Error: Invalid use of incomplete type - C++
Всем доброго вечера, возникла проблема в следующем коде. Я скорее всего не замечаю какой-то мелочи. Поможете понять что за ошибка? In...

error: cannot delete expression of type 'char' - C++
Здравствуйте. Я c++ всерьез начал заниматься недавно, и сегодня у меня вылезла ошибка, которую я раньше никогда не встречал: error:...

error: ISO C++ forbids declaration of 'Time' with no type - C++
#ifndef _TIMELL_H #define _TIMELL_H #include &lt;iostream&gt; #include &lt;string&gt; #include &quot;Time.h&quot; using namespace std; ...

Error C2109: subscript requires array or pointer type - C++
Доброго времени суток! Подскажите, пожалуйста, что нужно изменить, чтобы пропала ошибка error C2109: subscript requires array or pointer...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
12.01.2014, 16:32     [Error] 'ostream' does not name a type #2
C++
1
using namespace std;
не хватает
AnDrew_LP
160 / 162 / 9
Регистрация: 29.05.2010
Сообщений: 435
12.01.2014, 16:33     [Error] 'ostream' does not name a type #3
C++
1
using namespace std;
Либо писать явно название пространства имен std::ostream, std::cout и т.д.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2014, 16:33     [Error] 'ostream' does not name a type
Еще ссылки по теме:

Error C2338: The C++ Standard doesn't provide a hash for this type - C++
Хеш таблицы в руках впервые, необходима неупорядоченность. #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; #include...

Ошибка [BCC32 Error] E2453 Size of the type 'int[]' is unknown or zero - C++
Функция: int multiplication(int double_matrix1,int double_matrix2, int m, int n) //тут ошибка { int i,j,k; int...

19:Error directive: Must use C++ for the type iostream...как исправить такую ошибку? - C++
наверно я совсем тупая...но что то я не подружилась со средой С++((( помогите...не могу откомпилить...

Error C2679: binary '>>': no operator found which takes a right-hand operand of type - C++
нужно написать программу обработки структур. в программе использовать структуру, содержащую поля с информацией об учащихся: - фамилия и...

Ошибка: error C2679: binary '<<' : no operator found which takes a right-hand operand of type - C++
Нужно создать класс List для представления простого списка. Подскажите, почему появляется такая ошибка: error C2679: binary '&lt;&lt;' : no...

error C2228: left of '.add' must have class/struct/union type. в чем ошибка? - C++
Помогите понять в чем ошибка. Пасиб. #include &lt;iostream.h&gt; class book { private: char name_book; char name_avtor; ...


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
12.01.2014, 16:33     [Error] 'ostream' does not name a type #4
std::ostream
Yandex
Объявления
12.01.2014, 16:33     [Error] 'ostream' does not name a type
Ответ Создать тему
Опции темы

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