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

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

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

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

12.01.2014, 16:28. Просмотров 2291. Ответов 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'
Подскажите, пожалуйста, где, что, как?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2014, 16:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос [Error] 'ostream' does not name a type (C++):

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 { ...

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка? - C++
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt; setw(5) &lt;&lt; ptr; // вывод элементов...

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

Friend ostream& operator<<(ostream& stream, CArr& obj); - C++
CArr.h #pragma once class CArr{ int* arr = nullptr; int size = 10; void swap(int *a, int *b); void swap(int &amp;a, int &amp;b); ...

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

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

3
xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
12.01.2014, 16:32 #2
C++
1
using namespace std;
не хватает
1
AnDrew_LP
160 / 160 / 9
Регистрация: 29.05.2010
Сообщений: 435
12.01.2014, 16:33 #3
C++
1
using namespace std;
Либо писать явно название пространства имен std::ostream, std::cout и т.д.
1
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
12.01.2014, 16:33 #4
std::ostream
0
12.01.2014, 16:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2014, 16:33
Привет! Вот еще темы с ответами:

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...

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...


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

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

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