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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 97, средняя оценка - 4.92
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
#1

Возникает ошибка с using namespace std; - C++

14.05.2010, 00:16. Просмотров 12249. Ответов 17
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
#include "stdio.h"
#include "string.h"
#include "math.h"
#include "stdlib.h"
#include "stdafx.h"
#include "iostream.h"
using namespace std; //здесь ошибка
error C2871: 'std' : does not exist or is not a namespace

Microsoft VC++ 6.0
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
14.05.2010, 00:24     Возникает ошибка с using namespace std; #2
вы должные включить заголовки, которые чтонибудь туда добавят, например #include <vector> #include <iostream>
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
14.05.2010, 00:27  [ТС]     Возникает ошибка с using namespace std; #3
alex_x_x
А мне не нужно ничего туда добавлять...
Ошибка с потоковыми файлами...
Alexandoros
226 / 64 / 4
Регистрация: 02.06.2009
Сообщений: 280
14.05.2010, 12:35     Возникает ошибка с using namespace std; #4
.h убери в iostream
M128K145
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
14.05.2010, 21:22     Возникает ошибка с using namespace std; #5
AKE, в зависимости от того как вы создавали проект, вам может не понадобится std;
MS VC++ 6 позволяет как использовать, так и не использовать std
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17192 / 5446 / 337
Регистрация: 30.03.2009
Сообщений: 14,778
Записей в блоге: 26
15.05.2010, 08:47     Возникает ошибка с using namespace std; #6
Цитата Сообщение от AKE Посмотреть сообщение
error C2871: 'std' : does not exist or is not a namespace
namespace std появилось только в более поздних версиях стандарта Си++ и предназначен для того, чтобы втащить в него всё то, что описано в стандарте Си++ (чтобы проще было отделять мух от котлет). А в старых версиях стандарта (и, соответственно, в старых версиях компиляторах) этого namespace'а не было вообще.

К тому же раньше все заголовочные файлы от стандартных библиотек Си++ имели расширение .h: т.е. нужно было писать, например, #include <iostream.h>. В новых стандартах вся стандартная поддержка языка Си++ описана в заголовочных файлах без расширений: т.е. теперь надо писать #include <iostream>, но потом добавлять using namespace std; (либо ко всем глобалам обращаться через std, типа std::cout). Большинство современных компиляторов для совместимости поддерживают в том числе и старый вариант. Но в старых компиляторах нового варианта нет (потому что в те времена его ещё не изобрели).

Поэтому в твоём случае нужно просто удалить строку "using namespace std;" (поскольку ты использовал файл с расширением .h). Либо все подключаемые файлы стандартной библиотеки Си++ должны быть без .h (в твоём случае вместо iostream.h должно быть iostream)
-=ЮрА=-
Заблокирован
Автор FAQ
05.01.2012, 23:17     Возникает ошибка с using namespace std; #7
Evg, чисто для себя хочу узнать - здесь на форуме часто вижу std::cout и т.д.(и все с пеной у рта утверждают что без std:: не по стандарту)
В случае если использую только функции std;(обычная консоль) логичней и лаконичней для кода записать using namespace std; под хедерами и не загромождать код std:: или я не прав???
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
05.01.2012, 23:37     Возникает ошибка с using namespace std; #8
-=ЮрА=-, раскрытие пространства имен, весьма опасная привычка. это годится для хеловордов, или же для программ не использующих ничего кроме стандартной библиотеки.
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17192 / 5446 / 337
Регистрация: 30.03.2009
Сообщений: 14,778
Записей в блоге: 26
06.01.2012, 00:28     Возникает ошибка с using namespace std; #9
-=ЮрА=-, ну, например, ты можешь написать проект с 100500 функциями и называть их "a", "b", "c", ... - это будет по стандарту, но затруднит тебе жизнь. С std:: то же самое. Если это "домашняя" программа на два экрана - то проще using использовать, в противном случае лучше std::. Да и вообще лучше заранее приучать себя к тому, что является "правильным" в случаях, когда большой проект пишут несколько людей
Gepar
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
06.01.2012, 00:45     Возникает ошибка с using namespace std; #10
AKE, дело в том что написав
include "iostream.h" Вы уже подключили iostream с указанием что потоки cin, cout а также манипуляторы вроде endl принадлежат пространству имён std, тем не менее хотя строка
C++
1
using namespace std;
в вашем случае пользы не принесёт, проект и с ней должен нормально компилироваться, что и происходит в minigw, но почему-то не происходит в vs 6.0 (сам вот тоже проверил из интереса).
Но если подключить iostream в виде
C++
1
#include <iostream>
то тогда конфликтов у vs с пространствами имён не возникает так что либо пишите так либо не пишите using namespace std раз уж таким образом подключили нужные вам библиотеки.
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17192 / 5446 / 337
Регистрация: 30.03.2009
Сообщений: 14,778
Записей в блоге: 26
06.01.2012, 01:01     Возникает ошибка с using namespace std; #11
Для полноты картину ещё и сюда ссылку закину: include <?> для cout
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
09.01.2012, 14:52     Возникает ошибка с using namespace std; #12
вообще это вопрос холивара, а не языка
Alejo
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 38
11.11.2012, 23:38     Возникает ошибка с using namespace std; #13
Цитата Сообщение от Evg Посмотреть сообщение
-=ЮрА=-, ну, например, ты можешь написать проект с 100500 функциями и называть их "a", "b", "c", ... - это будет по стандарту, но затруднит тебе жизнь. С std:: то же самое. Если это "домашняя" программа на два экрана - то проще using использовать, в противном случае лучше std::. Да и вообще лучше заранее приучать себя к тому, что является "правильным" в случаях, когда большой проект пишут несколько людей
Можно пример (желательно для новичка) в котором using namespace std; может повредить программе ?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
11.11.2012, 23:56     Возникает ошибка с using namespace std; #14
Цитата Сообщение от Alejo Посмотреть сообщение
Можно пример (желательно для новичка) в котором using namespace std; может повредить программе ?
LinkedList list;
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12535 / 7097 / 797
Регистрация: 27.09.2012
Сообщений: 17,510
Записей в блоге: 2
Завершенные тесты: 1
12.11.2012, 00:01     Возникает ошибка с using namespace std; #15
Цитата Сообщение от Alejo Посмотреть сообщение
может повредить программе ?
как вариант:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
using namespace std;
 
bool nothrow;
int main(){
    nothrow=true;
    std::cin.get();
    return 0;
}
Alejo
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 38
12.11.2012, 00:53     Возникает ошибка с using namespace std; #16
CroessmahПоясните, что здесь не верно ? К nothrow будет применяться std ?
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
12.11.2012, 01:07     Возникает ошибка с using namespace std; #17
Переменная nothrow уже есть в std:: const std::nothrow_t std::nothrow
Наверно из-за этого будет конфликт.
Миниатюры
Возникает ошибка с using namespace std;  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 01:10     Возникает ошибка с using namespace std;
Еще ссылки по теме:

Что означает using namespace std? C++
C++ Использование using namespace std;
using namespace std C++
namespace std C++
Функции из заголовочника cstring размещены в namespace std ? C++

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

Или воспользуйтесь поиском по форуму:
Alejo
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 38
12.11.2012, 01:10     Возникает ошибка с using namespace std; #18
Благодарю за пояснение.
Yandex
Объявления
12.11.2012, 01:10     Возникает ошибка с using namespace std;
Ответ Создать тему
Опции темы

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