|
5 / 1 / 4 Регистрация: 03.03.2013 Сообщений: 229 |
|
|
1 |
|
|
23.01.2014, 18:40. Показов 22512. Ответов 19
Добрый вечер, пишу первую программу на C++, пишу в VS Express 2013, ошибка сборки: идентификатор cout не определен. Возможно дело в том, что учусь по старой книге, исправьте пожалуйста ошибку и объясните. Скриншот прилагается. Миниатюры
__________________
0 |
|
Baronnn 0 / 0 / 0 Регистрация: 16.01.2014 Сообщений: 6 |
||||||||
|
23.01.2014, 18:41 |
2 |
|||||||
|
После
добавить
0 |
|
cooller 571 / 539 / 280 Регистрация: 25.12.2013 Сообщений: 1,456 |
||||||||
|
23.01.2014, 18:46 |
3 |
|||||||
|
Baronnn,
Либо
1 |
|
xxgurman 5 / 1 / 4 Регистрация: 03.03.2013 Сообщений: 229 |
||||
|
23.01.2014, 18:48 [ТС] |
4 |
|||
|
После
После? У меня ведь нет такой строчки. Добавил после #include <iostream.h> то что Вы написали, безрезультатно. Миниатюры
0 |
|
Baronnn 0 / 0 / 0 Регистрация: 16.01.2014 Сообщений: 6 |
||||||||
|
23.01.2014, 18:50 |
5 |
|||||||
|
cooller_94, правильно)) ошибся добавить
или отдельно
и т.д.
0 |
|
xxgurman 5 / 1 / 4 Регистрация: 03.03.2013 Сообщений: 229 |
||||||||
|
23.01.2014, 18:57 [ТС] |
6 |
|||||||
|
cooller_94, правильно)) ошибся добавить
или отдельно
и т.д. Следующая ошибка! Возможно вы забыли добавить директиву «include «stdafx.h»» в источник. Миниатюры
0 |
|
Заблокирован |
|
|
23.01.2014, 19:02 |
7 |
|
Возможно вы забыли добавить директиву «include «stdafx.h»» в источник. добавьте её или пересоздайте проект убрав галочки напротив «зарание скомп. заголовок».
0 |
|
5 / 1 / 4 Регистрация: 03.03.2013 Сообщений: 229 |
|
|
23.01.2014, 19:05 [ТС] |
8 |
|
добавьте её или пересоздайте проект убрав галочки напротив «зарание скомп. заголовок». Следующая ошибка: Отсутствует спецификатор типа — предполагается int. C++ не поддерживает int по умолчанию Миниатюры
0 |
|
3254 / 2056 / 351 Регистрация: 24.11.2012 Сообщений: 4,909 |
|
|
23.01.2014, 19:06 |
9 |
|
int main() И возьмите другую книгу…
0 |
|
5 / 1 / 4 Регистрация: 03.03.2013 Сообщений: 229 |
|
|
23.01.2014, 19:28 [ТС] |
10 |
|
int main() И возьмите другую книгу… Не подскажете куда добавить int main()? Добавил интуитивно вот сюда, все тщетно Миниатюры
0 |
|
0x10 3254 / 2056 / 351 Регистрация: 24.11.2012 Сообщений: 4,909 |
||||
|
23.01.2014, 19:30 |
11 |
|||
|
Во-первых, вставляйте исходники текстом.
1 |
|
cooller 571 / 539 / 280 Регистрация: 25.12.2013 Сообщений: 1,456 |
||||
|
23.01.2014, 19:30 |
12 |
|||
|
xxgurman, Добавь в самом начале
запоздал
1 |
|
0 / 0 / 0 Регистрация: 16.01.2014 Сообщений: 6 |
|
|
23.01.2014, 19:31 |
13 |
|
Есть же функция main() … Вместо него int main()
0 |
|
Don’t worry, be happy 17779 / 10543 / 2035 Регистрация: 27.09.2012 Сообщений: 26,513 Записей в блоге: 1 |
|
|
23.01.2014, 19:32 |
14 |
|
Возможно вы забыли добавить директиву «include «stdafx.h»» в источник. https://www.cyberforum.ru/blog… g1905.html
0 |
|
xxgurman 5 / 1 / 4 Регистрация: 03.03.2013 Сообщений: 229 |
||||
|
23.01.2014, 19:39 [ТС] |
15 |
|||
|
Во-первых, вставляйте исходники текстом.
Спасибо Вам, и всем отвечающим, все получилось. Как же мне теперь запустить мою программу/увидеть что выводится на экран? Был создан файл ConsoleApplication3.exe но при открытии он мне ничего не показывает, открывается и закрывается сразу же.
0 |
|
3254 / 2056 / 351 Регистрация: 24.11.2012 Сообщений: 4,909 |
|
|
23.01.2014, 19:43 |
16 |
|
открывается и закрывается сразу же. См ссылку от Croessmah
0 |
|
5 / 1 / 4 Регистрация: 03.03.2013 Сообщений: 229 |
|
|
23.01.2014, 19:52 [ТС] |
17 |
|
См ссылку от Croessmah Извините, вы переходили по этой ссылке? Разрешение скринов настолько мало, что текст не читаем, предложите пожалуйста альтернативу. Добавлено через 4 минуты
См ссылку от Croessmah Быть может нужно добавить что то, чтобы программа закрывалась только при нажатии на клавишу, из «опыта» в Pascal.
0 |
|
3254 / 2056 / 351 Регистрация: 24.11.2012 Сообщений: 4,909 |
|
|
23.01.2014, 19:53 |
18 |
|
Перед return воткнуть system(«pause») или getchar() или запускать без отладчика.
1 |
|
5 / 1 / 4 Регистрация: 03.03.2013 Сообщений: 229 |
|
|
23.01.2014, 19:55 [ТС] |
19 |
|
Перед return воткнуть system(«pause») или getchar() или запускать без отладчика. Вы были правы, я был не внимателен. Спасибо большое.
0 |
|
Don’t worry, be happy 17779 / 10543 / 2035 Регистрация: 27.09.2012 Сообщений: 26,513 Записей в блоге: 1 |
|
|
23.01.2014, 19:58 |
20 |
|
0 |
|
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
23.01.2014, 19:58 |
|
Помогаю со студенческими работами здесь Требуется идентификатор (идентификатор с не определён) Почему компилятор Visual studio 2017 пишет, что идентификатор gets не определен, что можно сделать? Программа ищет слова #define MAX 5… Идентификатор не определен Идентификатор не определен Идентификатор не определён
#include <iostream> Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 20 |
Я только начал разбираться с плюсами. И тут же воткнулся в какой-то непонятный для меня косяк.
#include <iostream>
#include "stdafx.h"
using namespace std;
int main()
{
cout << "Hello World" << endl;
}
Вроде все верно… Но при компиляции ошибка:
cout: необъявленный идентификатор
Я почитал у вас тут похожие темы. Пишут, что область имен надо объявить, она есть. Вроде вообще все как надо. Я использую VS 2017 для написания кода. Объясните, пожалуйста, что не так.
![]()
αλεχολυτ
28.2k10 золотых знаков52 серебряных знака114 бронзовых знаков
задан 8 сен 2017 в 8:21
0
Вот это
#include <iostream>
вы, вероятно, добавили сами перед
#include "stdafx.h"
Поменяйте их местами. stdafx.h — это такой оченно хитрый вспомогательный заголовочный файл (который я бы, честно говоря, вообще не использовал 🙂 — но вы уже сделали проект с использованием предварительно скомпилированного заголовка…) Пусть себе идет первым…
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
}
ответ дан 8 сен 2017 в 8:23
![]()
HarryHarry
210k15 золотых знаков114 серебряных знаков224 бронзовых знака
2
попробуйте так
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World ";
return 0;
}
ответ дан 8 сен 2017 в 8:25
std::cout<<"Hello World";
![]()
insolor
43.8k15 золотых знаков52 серебряных знака90 бронзовых знаков
ответ дан 8 сен 2017 в 8:25
![]()
North FaceNorth Face
9301 золотой знак9 серебряных знаков21 бронзовый знак
If you are new to c++ programming language then possibly you will come across c++ identifier is undefined errors. You might get identifier is undefined error in multiple ways, below 4 different possible errors for identifier is undefined in c++.

Possible different errors:
- c++ identifier is undefined
- c++ identifier cout is undefined
- c++ identifier string is undefined
- identifier system is undefined c++
Solution-1 : identifier is undefined due to variable/function is not declared
#include <iostream>
using namespace std;
void func(int a) {
cout << a;
}
int main()
{
int Value1;
Value1 = 10;
func(Value);
// error C2065: 'Value': undeclared identifier
// Solution: func(Value1);
return 0;
}
Here we have not declared Value variable. So it is giving undeclared error. If we change it to func(Value1); then error will be resolve. Always check that particular variable is declared or not.

#include <iostream>
using namespace std;
int main()
{
int Value1;
Value1 = 10;
func(Value1);
// error C3861: 'func': identifier not found
return 0;
}
Here func(int value){…} is not available so it will give error for c++ identifier not found.
Solution-2 : c++ identifier is undefined due to variable is out of Scope {..}
#include <iostream>
using namespace std;
int main()
{
{
int Value1; // Variable scope will be over after {}
}
Value1 = 10;
// error C2065: 'Value1': undeclared identifier
return 0;
}
Here variable declaration scope is over once {..} is over. So outside scope if we try to access variable then it will give error for c++ identifier is undefined.
2) c++ identifier cout is undefined
#include <iostream>
int main()
{
int Value1;
Value1 = 10;
cout << Value1;
// error C2065: 'cout': undeclared identifier
return 0;
}

Here error is coming because cout is inside std namespace.
If you don’t wand to add std::cout every time then you can add using namespace std; in header section so it will apply to whole file.
#include <iostream> using namespace std; // Need to add it
Using these both solutions you can easily remove c++ identifier cout is undefined error from your program.
3) c++ identifier string is undefined
#include <iostream>
int main()
{
string str;
// C2065: 'string': undeclared identifier
return 0;
}
string variable is also inside std namespace, so you will need to use std::string every time or you can add using namespace std; inside starting of file includes.
std::string str; OR using namespace std;
Using this code change you can resolve c++ identifier string is undefined from your program.
4) identifier system is undefined c++
#include <stdio.h>
int main()
{
system("pause");
// error C3861: 'system': identifier not found
// system is available inside #include <stdlib.h>
return 0;
}

system() is define inside #include <stdlib.h> header file. If you have not included this file then you will get errors for identifier system is undefined c++.
Conclusion: c++ identifier is undefined
Whenever you are getting identifier is undefined error in c++ then you need to check 1) Variable name is declared or not 2) Variable or function is not out of scope 3) Proper #include file is added or not. Mostly due to these three reason error occurs. By checking coding you will able to identify issue.
See more:
C++ is widely used programming language, you can read more use of c++ in real world.
Reader Interactions
Я работаю над частью «драйвера» моего назначения программирования, и я продолжаю получать эту абсурдную ошибку:
ошибка C2065: ‘cout’: необъявленный идентификатор
Я даже пытался использовать std:: cout, но я получаю еще одну ошибку, которая говорит: IntelliSense: пространство имен «std» не имеет члена «cout» , когда у меня есть объявленный с использованием пространства имен std, включая iostream +, я даже пытался использовать ostream
Я знаю, что это стандартный вопрос о нобе, но это меня насторожило, и я новичок (это означает: я запрограммировал раньше…)
#include <iostream>
using namespace std;
int main () {
cout << "hey" << endl;
return 0;
}
Я использую Visual Studio 2010 и запускаю Windows 7. Все файлы .h имеют «использование пространства имен std» и включают iostream и ostream.
Ответ 1
В Visual Studio вы должны #include "stdafx.h" и быть первым включением файла cpp. Например:
Это не будет работать.
#include <iostream>
using namespace std;
int main () {
cout << "hey" << endl;
return 0;
}
#include <iostream>
#include "stdafx.h"
using namespace std;
int main () {
cout << "hey" << endl;
return 0;
}
Это подойдет.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main () {
cout << "hey" << endl;
return 0;
}
Вот отличный ответ о том, что делает заголовок stdafx.h.
Ответ 2
напишите этот код, он отлично работает.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World!";
return 0;
}
Ответ 3
У меня была такая же проблема на Visual Studio С++ 2010. Это легко исправить. Над функцией main() просто замените стандартные строки с этим ниже, но с символом фунта перед включенными.
# include "stdafx.h"
# include <iostream>
using namespace std;
Ответ 4
include "stdafx.h" в порядке
Но вы не можете использовать cout, если вы не включили using namespace std
Если вы не включили пространство имен std, вам нужно написать std::cout вместо простого cout
Ответ 5
Я видел, что если вы используете
#include <iostream.h>
тогда вы получите эту проблему.
Если вы используете
#include <iostream>
(уведомление — без .h)
то вы не получите проблему, о которой вы упомянули.
Ответ 6
Если вы начали проект, требующий строки #include "stdafx.h", поставьте его первым.
Ответ 7
Нижеприведенный код компилируется и запускается правильно для меня, используя gcc. Попробуйте скопировать/вставить это и посмотреть, работает ли он.
#include <iostream>
using namespace std;
int bob (int a) { cout << "hey" << endl; return 0; };
int main () {
int a = 1;
bob(a);
return 0;
}
Ответ 8
Если единственным файлом, который вы включаете, является iostream, и он все еще говорит undefined, то, возможно, iostream не содержит того, что он должен был. Возможно ли, что у вас есть пустой файл, совпадающий по имени «iostream» в вашем проекте?
Ответ 9
Я видел похожие вещи, когда я использовал расширение .c файла с кодом С++. Кроме этого, я должен согласиться со всеми о багги установке. Это работает, если вы попытаетесь скомпилировать проект с более ранней версией VS? Попробуйте VС++ Express 2008. Его бесплатно на msdn.
Ответ 10
Такое глупое решение в моем случае:
// Example a
#include <iostream>
#include "stdafx.h"
Выше было указано в качестве примера a, когда я изменил его, чтобы он был похож на пример b ниже…
// Example b
#include "stdafx.h"
#include <iostream>
Мой код составлен как шарм. Попробуйте, гарантированно сработает.
Ответ 11
прежде чем вы начнете эту программу, избавитесь от всего кода и сделайте простой мир привет внутри основного. Включать только iostream и использовать пространство имен std;.
Постепенно добавьте его, чтобы найти свою проблему.
cout << "hi" << endl;
Ответ 12
У меня есть VS2010, Beta 1 и Beta 2 (один на моей рабочей машине и один на дому), и я использовал std множество без проблем. Попробуйте ввести:
std::
И посмотрите, дает ли Intellisense что-нибудь. Если это дает вам обычный материал (abort, abs, acos и т.д.), За исключением cout, ну тогда это довольно головоломка. Определенно посмотрите на ваши заголовки С++ в этом случае.
Помимо этого, я бы просто добавил, чтобы убедиться, что вы используете обычный пустой проект (не CLR, где Intellisense поврежден), и что вы на самом деле пытались построить проект хотя бы один раз. Как я уже упоминал в комментарии, VS2010 анализирует файлы после добавления include; возможно, что что-то застряло в парсере, и он не сразу «нашел» cout. (В этом случае попробуйте перезапустить VS, возможно?)
Ответ 13
У меня была такая же проблема при запуске проекта ms С++ 2010 с нуля — я удалил все файлы заголовков, сгенерированные с помощью ms, но использовал:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main() {
cout << "hey" << endl;
return 0;
}
Мне пришлось включить stdafx.h, поскольку это вызвало ошибку, в которой он не был.
Ответ 14
Возьмите код
#include <iostream>
using namespace std;
из вашего .cpp файла, создайте файл заголовка и поместите его в файл .h. Затем добавьте
#include "whatever your header file is named.h"
в верхней части вашего .cpp-кода. Затем запустите его снова.
Ответ 15
Вы уверены, что он компилируется как С++? Проверьте имя файла (он должен заканчиваться на .cpp). Проверьте настройки проекта.
Нет ничего плохого в вашей программе, а cout находится в namespace std. Ваша установка VS 2010 Beta 2 является дефектной, и я не думаю, что это просто ваша установка.
Я не думаю, что VS 2010 готов к С++. Стандартная программа «Hello, World» не работала на бета-версии 1. Я просто попытался создать тестовое консольное приложение Win32, а сгенерированный файл test.cpp не имел функции main().
У меня действительно очень плохое чувство о VS 2010.
Ответ 16
Попробуй, это сработает. Я проверил его в Windows XP, Visual Studio 2010 Express.
#include "stdafx.h"
#include <iostream>
using namespace std;
void main( )
{
int i = 0;
cout << "Enter a number: ";
cin >> i;
}
Ответ 17
Когда вы создали свой проект, вы не установили правильно использовать предварительно скомпилированные заголовки. Измените его в свойствах → C/С++ → предварительно скомпилированные заголовки.
Ответ 18
В Visual Studio используйте весь ваш фильтр заголовка ниже «stdafx.h».
Ответ 19
Включите библиотеку std, вставив следующую строку вверху вашего кода:
using namespace std;
Ответ 20
обычно сохраняется в папке C:Program FilesMicrosoft Visual Studio 8VCinclude. Сначала проверьте, все ли он там. Затем выберите «Инструменты + варианты», «Проекты и решения», «Каталоги VС++», выберите «Включить файлы» в поле «Показать каталоги для» и дважды проверьте, что включение (VCInstallDir) включено в список.
Ответ 21
Я столкнулся с этой ошибкой после того, как установил vs 2010 и просто пытался получить почти идентичную программу для работы.
Я уже делал кодировку ваниль C в коробках в стиле unix, решил, что немного поиграю с этим.
Первая программа, которую я пробовал, была:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Hello World!";
return 0;
}
Большая вещь, чтобы заметить здесь… если вы все сделали C-кодирование,
int _tmain(int argc, _TCHAR* argv[])
Выглядит странно. это должно быть:
int main( int argc, char ** argv )
В моем случае я просто изменил программу на:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world from VS 2010!n";
return 0;
}
И он отлично работал.
Примечание. Используйте CTRL + F5, чтобы окно консоли закрывалось, чтобы вы могли видеть результаты.
Ответ 22
Просто используйте printf!
Включите stdio.h в заголовочный файл stdafx.h для printf.
Ответ 23
Я пришел сюда, потому что у меня была такая же проблема, но когда я сделал #include "stdafx.h", он сказал, что не нашел этот файл.
Что для меня было трюком: #include <algorithm>.
Я использую Microsoft Visual Studio 2008.
Это то, что вы можете использовать тогда, в том числе. ‘count’: Ссылка
Ответ 24
Это был компилятор — теперь я использую Eclipse Galileo, и программа работает как чудо

Идентификатор gets не определен