Lc all необъявленный идентификатор

Lc all необъявленный идентификатор

// Lab_03.cpp: определяет точку входа для консольного приложения.
//
#include "locale"
#include "stdafx.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
f=fopen("1.txt","a+");
setlocale(LC_ALL,"Russian");
puts("Работа со справочником:
1 — Добавить
2 — Поиск
3 — Вывод базы
4 — Выход");
return 0;
>

на
setlocale(LC_ALL,"Russian");
пишет ошибку:
Ошибка3error C2065: LC_ALL: необъявленный идентификаторe:lablab_03lab_03lab_03.cpp11
Ошибка4error C3861: setlocale: идентификатор не найденe:lablab_03lab_03lab_03.cpp11

Максим, #include
using namespace std;
int main(void)
<
setlocale(LC_ALL, "RUSSIAN");
Показать полностью…
int intWarriors;
double doubleWarriors;
float floatWarriors;

cout «"Поселение эльфов атаковали "
« "драконы. " « "Чтобы спасти жителей, ";
cout« "необходимо создать воинов каждого типа данных "
«"и защитить город."« endl« endl;
cout« "Сколько воинов типа int послать в атаку? ";
cin » intWarriors;
cout« "К счастью, каждый воин обладает силой "
« sizeof(intWarriors)« endl
« " и этого почти достаточно, чтобы победить синих драконов." « endl;
cout « endl « " Скорее! Сколько воинов типа double"
« " послать в атаку? ";
cin » doubleWarriors;
cout « doubleWarriors;
cout « " воины типа double атакуют оставшихся синих"
« " драконов" « endl « " они убили "
« sizeof(doubleWarriors)« " синих драконов."
« " Все синие драконы мертвы."
« endl« endl;

cout« " Сколько воинов типа float послать в атаку? ";
cin » floatWarriors;
cout «"Каждый из " « floatWarriors;
cout« "воинов типа float выпускают ";
cout « sizeof(floatWarriors)« " стрел." «endl;
cout « " Этого как раз достаточно, чтобы убить зеленых драконов."
« endl « " Поздравляем, ты спас"
« " эльфов";
system("pause");
return 0;
>

"идентификатор": необъявленный идентификатор ‘identifier‘ : undeclared identifier

Компилятору не удается найти объявление идентификатора. The compiler can’t find the declaration for an identifier. Эта ошибка может быть вызвана многими причинами. There are many possible causes for this error. Наиболее распространенными причинами C2065 является то, что идентификатор не был объявлен, идентификатор написан неправильно, заголовок, где объявляется идентификатор, не включается в файл, или в идентификаторе отсутствует квалификатор области, например, cout вместо std::cout . The most common causes of C2065 are that the identifier hasn’t been declared, the identifier is misspelled, the header where the identifier is declared is not included in the file, or the identifier is missing a scope qualifier, for example, cout instead of std::cout . Дополнительные сведения об объявлениях в C++см. в разделе объявления иC++определения (). For more information on declarations in C++, see Declarations and Definitions (C++).

Ниже приведены некоторые распространенные проблемы и более подробные решения. Here are some common issues and solutions in greater detail.

Идентификатор не объявлен The identifier is undeclared

Если идентификатор является переменной или именем функции, его необходимо объявить перед тем, как его можно будет использовать. If the identifier is a variable or a function name, you must declare it before it can be used. Перед использованием функции в объявлении функции также должны быть включены типы его параметров. A function declaration must also include the types of its parameters before the function can be used. Если переменная объявлена с помощью auto , компилятор должен иметь возможность определить тип из его инициализатора. If the variable is declared using auto , the compiler must be able to infer the type from its initializer.

Если идентификатор является членом класса или структуры или объявлен в пространстве имен, он должен уточняться именем класса или структуры или именем пространства имен при использовании вне структуры, класса или области пространства имен. If the identifier is a member of a class or struct, or declared in a namespace, it must be qualified by the class or struct name, or the namespace name, when used outside the struct, class, or namespace scope. Кроме того, пространство имен должно быть помещено в область using с помощью директивы, такой как using namespace std; , или имя члена должно быть помещено using в область с помощью using std::string; объявления, такого как. Alternatively, the namespace must be brought into scope by a using directive such as using namespace std; , or the member name must be brought into scope by a using declaration, such as using std::string; . В противном случае неполное имя считается необъявленным идентификатором в текущей области. Otherwise, the unqualified name is considered to be an undeclared identifier in the current scope.

Читайте также:  Huawei p9 lite как очистить внутреннюю память

Если идентификатор является тегом для определяемого пользователем типа, например, class или struct , тип тега должен быть объявлен до его использования. If the identifier is the tag for a user-defined type, for example, a class or struct , the type of the tag must be declared before it can be used. Например, объявление struct SomeStruct < /*. */ >; должно существовать, прежде чем можно будет объявить переменную SomeStruct myStruct; в коде. For example, the declaration struct SomeStruct < /*. */ >; must exist before you can declare a variable SomeStruct myStruct; in your code.

Если идентификатор является псевдонимом типа, тип должен быть объявлен с помощью using объявления или typedef перед тем, как его можно будет использовать. If the identifier is a type alias, the type must be declared by using a using declaration or typedef before it can be used. Например, необходимо объявить using my_flags = std::ios_base::fmtflags; , прежде чем можно будет использовать my_flags в качестве псевдонима std::ios_base::fmtflags типа для. For example, you must declare using my_flags = std::ios_base::fmtflags; before you can use my_flags as a type alias for std::ios_base::fmtflags .

Пример: идентификатор с ошибками Example: misspelled identifier

Эта ошибка обычно возникает, когда имя идентификатора написано неправильно или идентификатор использует неправильные прописные и строчные буквы. This error commonly occurs when the identifier name is misspelled, or the identifier uses the wrong uppercase and lowercase letters. Имя в объявлении должно точно совпадать с именем, которое вы используете. The name in the declaration must exactly match the name you use.

Пример. Использование неограниченного идентификатора Example: use an unscoped identifier

Эта ошибка может возникать, если идентификатор не является правильно заданной областью. This error can occur if your identifier is not properly scoped. Если вы видите C2065 при использовании cout , это является причиной. If you see C2065 when you use cout , this is the cause. Если C++ функции и операторы стандартной библиотеки не полностью определены в пространстве имен или если std пространство имен не было перенесено в текущую using область с помощью директивы, компилятор не может их найти. When C++ Standard Library functions and operators are not fully qualified by namespace, or you have not brought the std namespace into the current scope by using a using directive, the compiler can’t find them. Чтобы устранить эту проблему, необходимо либо полностью определить имена идентификаторов, либо указать пространство имен с помощью using директивы. To fix this issue, you must either fully qualify the identifier names, or specify the namespace with the using directive.

Читайте также:  Corel просит учетную запись

Этот пример не компилируется, cout поскольку endl и определены в std пространстве имен: This example fails to compile because cout and endl are defined in the std namespace:

Идентификаторы, объявляемые внутри class типов, struct или enum class , также должны уточняться именем их включающей области при их использовании за пределами этой области. Identifiers that are declared inside of class , struct , or enum class types must also be qualified by the name of their enclosing scope when you use them outside of that scope.

Пример: предварительно скомпилированный заголовок не является первым Example: precompiled header isn’t first

Эта ошибка может возникать, если вы поместили директивы препроцессора, такие как #include, #define или #pragma, перед #includeом предкомпилированного файла заголовка. This error can occur if you put any preprocessor directives, such as #include, #define, or #pragma, before the #include of a precompiled header file. Если исходный файл использует предварительно скомпилированный заголовочный файл (то есть если он компилируется с помощью параметра компилятора /Yu ), то все директивы препроцессора перед файлом предкомпилированного заголовка будут проигнорированы. If your source file uses a precompiled header file (that is, if it’s compiled by using the /Yu compiler option) then all preprocessor directives before the precompiled header file are ignored.

Этот пример не удается скомпилировать, cout поскольку endl и определены в , который игнорируется, так как он включается перед предкомпилированным файлом заголовка. This example fails to compile because cout and endl are defined in the header, which is ignored because it is included before the precompiled header file. Чтобы выполнить сборку этого примера, создайте все три файла, а затем скомпилируйте файл stdafx. cpp, а затем скомпилируйте C2065_pch. cpp. To build this example, create all three files, then compile stdafx.cpp, then compile C2065_pch.cpp.

Чтобы устранить эту проблему, добавьте #include <> iostream в файл предкомпилированного заголовка или переместите его после включения файла предкомпилированного заголовка в исходный файл. To fix this issue, add the #include of into the precompiled header file, or move it after the precompiled header file is included in your source file.

Пример: отсутствует заголовочный файл Example: missing header file

Вы не включили заголовочный файл, объявляющий идентификатор. You have not included the header file that declares the identifier. Убедитесь, что файл, содержащий объявление идентификатора, включен в каждый исходный файл, который его использует. Make sure the file that contains the declaration for the identifier is included in every source file that uses it.

Другая возможная причина — при использовании списка инициализаторов без включения . Another possible cause is if you use an initializer list without including the header.

Эта ошибка может возникать в исходных файлах Windows Desktop App, если вы VC_EXTRALEAN определяете, WIN32_EXTRA_LEAN WIN32_LEAN_AND_MEAN или. You may see this error in Windows Desktop app source files if you define VC_EXTRALEAN , WIN32_LEAN_AND_MEAN , or WIN32_EXTRA_LEAN . Эти макросы препроцессора исключают некоторые файлы заголовков из_Windows. h и афксв W32. h для ускорения компиляции. These preprocessor macros exclude some header files from windows.h and afxv_w32.h to speed compiles. Просмотрите Windows. h и afxv_w32. h, чтобы получить последние сведения о том, что исключено. Look in windows.h and afxv_w32.h for an up-to-date description of what’s excluded.

Пример: отсутствует закрывающая кавычка Example: missing closing quote

Эта ошибка может возникать, если отсутствует закрывающая кавычка после строковой константы. This error can occur if you are missing a closing quote after a string constant. Это простой способ запутывания компилятора. This is an easy way to confuse the compiler. Обратите внимание, что пропущенная закрывающая кавычка может быть в нескольких строках перед сообщаемым расположением ошибки. Note that the missing closing quote may be several lines before the reported error location.

Читайте также:  Как выключить музыку в дискорде

Пример. Использование итератора вне области действия цикла Example: use iterator outside for loop scope

Эта ошибка может возникать, если объявить переменную- for итератор в цикле, а затем попробовать использовать эту переменную итератора вне области for цикла. This error can occur if you declare an iterator variable in a for loop, and then you try to use that iterator variable outside the scope of the for loop. Компилятор включает параметр компилятора /Zc: forScope по умолчанию. The compiler enables the /Zc:forScope compiler option by default. Дополнительные сведения см. в разделе Поддержка итераторов отладки . See Debug Iterator Support for more information.

Пример: объявление удаленного препроцессора Example: preprocessor removed declaration

Эта ошибка может возникать, если вы ссылаетесь на функцию или переменную, которая находится в коде, скомпилированном по условию, который не компилируется для текущей конфигурации. This error can occur if you refer to a function or variable that is in conditionally compiled code that is not compiled for your current configuration. Это также может произойти при вызове функции в файле заголовка, который в настоящее время не поддерживается в среде сборки. This can also occur if you call a function in a header file that is currently not supported in your build environment. Если определенные переменные или функции доступны только при определении конкретного макроса препроцессора, убедитесь, что код, вызывающий эти функции, может быть скомпилирован только при определении одного и того же макроса препроцессора. If certain variables or functions are only available when a particular preprocessor macro is defined, make sure the code that calls those functions can only be compiled when the same preprocessor macro is defined. Эту ошибку легко выявить в интегрированной среде разработки, так как объявление функции недоступно, если требуемые макросы препроцессора не определены для текущей конфигурации сборки. This issue is easy to spot in the IDE, because the declaration for the function is greyed out if the required preprocessor macros are not defined for the current build configuration.

Это пример кода, который работает при сборке в отладке, но не в розницу: This is an example of code that works when you build in Debug, but not Retail:

Пример C++Сбой выведения типа/CLI Example: C++/CLI type deduction failure

Эта ошибка может возникать при вызове универсальной функции, если аргумент предполагаемого типа не может быть выведен из используемых параметров. This error can occur when calling a generic function, if the intended type argument cannot be deduced from the parameters used. Дополнительные сведения см. в разделе универсальныеC++функции (/CLI). For more information, see Generic Functions (C++/CLI).

Пример C++Параметры атрибута/CLI Example: C++/CLI attribute parameters

Эта ошибка также может быть вызвана работой по согласованности компилятора, выполненной для Visual Studio 2005: Проверка параметров для визуальных C++ атрибутов. This error can also be generated as a result of compiler conformance work that was done for Visual Studio 2005: parameter checking for Visual C++ attributes.

Ссылка на основную публикацию
Hanewin nfs server настройка windows 10
The software implements a multithreaded NFS Server for all Windows platforms. The implementation supports: NFS 3, NFS 2, WebNFS and...
Dmde как пользоваться raw
Невозможно однозначно ответить на вопрос, исходя только из описания проблемы. Возможно, данные уже перезаписаны, а, возможно, еще нет. Следует скачать...
Drive wiper ccleaner что это
Полное стирание дисков: миссия (не)возможна? Файл, стёртый обычным образом (клавиша Delete, или пункт контекстного меню «Удалить") не исчезает с накопителя:...
Huawei p9 lite как очистить внутреннюю память
Как очистить память на телефоне Хуавей и Хонор интересует тех юзеров, которые уже успели столкнуться с нехваткой свободного пространства на...
Adblock detector