Я изучаю C ++ и COM через книги.
В IDE MS Visual Studio 2012 я создал новый пустой проект C ++ и добавил в него несколько существующих файлов. Мой файл CPP содержит #include<iostream>
ряд, но в редакторе я получил такие сообщения:
Ошибка: идентификатор «cout» не определен
конец
Ошибка: идентификатор «endl» не определен
экран:
Почему так происходит?
Вам необходимо указать std::
Пространство имен:
std::cout << .... << std::endl;;
Кроме того, вы можете использовать using
директива:
using std::cout;
using std::endl;
cout << .... << endl;
Я должен добавить, что вы должны избегать этих using
директивы в заголовках, поскольку включающий их код также будет содержать символы, введенные в глобальное пространство имен. Ограничьте использование директив небольшими областями, например
#include <iostream>
inline void foo()
{
using std::cout;
using std::endl;
cout << "Hello world" << endl;
}
Здесь using
Директива относится только к сфере действия foo()
,
cout
находится в пространстве имен std, вы должны использовать std::cout
в вашем коде.
И ты не должен добавлять using namespace std;
в вашем заголовочном файле плохо смешивать ваш код с пространством имен std, особенно не добавляйте его в заголовочный файл.
Вы можете добавить это в начале после #include <iostream>
:
using namespace std;