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

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

Войти
Регистрация
Восстановить пароль
 
Best_Coder
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 81
#1

Identifier not found - C++

23.11.2014, 08:08. Просмотров 1042. Ответов 2
Метки нет (Все метки)

Объясните пожалуйста почему компилятор выдаёт эту ошибку,и как лучше избегать таких моментов?

Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void ArrayPrint(int* &M,int n){
    for (int i(0);i>n;i++){
    cout<< M[i] <<"  ";
    }
 
} 
 
void ArrayBuild(int n){
    
    int *A = new int[n];
    for(int i(0);i<n;i++)
        A[i] = rand() % 201-100;
    
    cout<<"Массив :";
    ArrayPrint(A,n);
    cout<<"\n";
    Positive(A,n);
 
}
 
void Positive(int* &M,int n){
 
    for(int i(1);i<n;i++){
        if (M[i]>=0 && M[i+1]>=0){
            cout <<"Первая пара соседних положительныйх элементов массива "<<M[i]<<" и "<<M[i+1]<<endl;
            break;}
        else if (M[n]) cout <<"Cоседних положительныйх элементов в массиве нет."<<endl;
        }
 
    for(int i(n);i>0;i--){
        if (M[i]>=0 && M[i-1]>=0){
            cout <<"Последняя пара соседних положительныйх элементов массива "<<M[i]<<" и "<<M[i+1]<<endl;
            break;}
        else if (M[0]) cout <<"Cоседних положительныйх элементов в массиве нет."<<endl;
        }
    }
 
void main(){
    setlocale(LC_ALL,"Rus");
char exit;
int n;
 
    do{
        cout<<"Количество элементов : ";
        cin>>n;
        ArrayBuild(n);
    }while(cin>>exit && exit=='y');
 
}


Добавлено через 9 минут
Почему функции ArrayPrint и Positive должны располагаться над ArrayBuild?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 08:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Identifier not found (C++):

Strcpy identifier not found - C++
Не компилируеться, подчеркивает strcpy в чем может быть ошибка? void printHrad(struct hrady hrad) { printf(&quot;Hrad name: %s\n&quot;,...

Ошибка identifier not found - C++
Пытаюсь создать функцию по сортировке, ну и ее выполнение соответственно. Цель - разобраться с работой динамическими памятью и массивами. ...

Ошибка C3861 'time': identifier not found - C++
Здравствуйте! Я учусь программировать на C++, пользуюсь Visual Studio 2013. Столкнулся с проблемой: #include &quot;core.h&quot; using...

Identifier not found при вызове функции - C++
Здравствуйте. В моем консольном приложении помимо функции int _tmain, есть функция std::vector&lt;std::string&gt; CreateFileList(std::string...

Ошибка в коде ('sqrt': identifier not found) - C++
Компилятор VS 2005 выдает ошибку: error C3861: 'sqrt': identifier not found вот сам код #include &lt;stdio.h&gt; #include &lt;math.h&gt; ...

Error C3861: 'stof': identifier not found - C++
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; float param; float StringToFloat(const char *str) { bool err; char...

2
Croessmah
Эксперт CЭксперт С++
13430 / 7585 / 857
Регистрация: 27.09.2012
Сообщений: 18,677
Записей в блоге: 3
Завершенные тесты: 1
23.11.2014, 08:25 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Best_Coder Посмотреть сообщение
Почему функции ArrayPrint и Positive должны располагаться над ArrayBuild?
грубо говоря, потому что, когда компилятор доходит до строчки ArrayPrint(A,n); он не знает что такое ArrayPrint и с чем его едят, поэтому и вылезает ошибка. Но необязательно функцию ArrayPrint определять до ArrayBuild, можно лишь объявить её:
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
void ArrayPrint(int* &,int) ;
void Positive(int* &,int) ;
 
void ArrayBuild(int n){
    
    int *A = new int[n];
    for(int i(0);i<n;i++)
        A[i] = rand() % 201-100;
    
    cout<<"Массив :";
    ArrayPrint(A,n);
    cout<<"\n";
    Positive(A,n);
 
}
 
void ArrayPrint(int* &M,int n){
    for (int i(0);i>n;i++){
    cout<< M[i] <<"  ";
    }
 
} 
 
void Positive(int* &M,int n){
 
    for(int i(1);i<n;i++){
        if (M[i]>=0 && M[i+1]>=0){
            cout <<"Первая пара соседних положительныйх элементов массива "<<M[i]<<" и "<<M[i+1]<<endl;
            break;}
        else if (M[n]) cout <<"Cоседних положительныйх элементов в массиве нет."<<endl;
        }
 
    for(int i(n);i>0;i--){
        if (M[i]>=0 && M[i-1]>=0){
            cout <<"Последняя пара соседних положительныйх элементов массива "<<M[i]<<" и "<<M[i+1]<<endl;
            break;}
        else if (M[0]) cout <<"Cоседних положительныйх элементов в массиве нет."<<endl;
        }
    }
1
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3899 / 2136 / 548
Регистрация: 18.10.2014
Сообщений: 3,749
23.11.2014, 09:43 #3
Цитата Сообщение от Best_Coder Посмотреть сообщение
Почему функции ArrayPrint и Positive должны располагаться над ArrayBuild?
Потому что так устроен язык С++. В языке С++ разрешается использовать только те имена, которые были заранее объявлены где-то выше по коду.

В языке С когда-то разрешалось использовать необъявленные имена, но и в С эта практичка была запрещена в стандарте 1999 года.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2014, 09:43
Привет! Вот еще темы с ответами:

Error C3861: 'convert_close': identifier not found //ошибка - C++
Ребята вы пожалуйста не обращайте внимание на код, обратите только внимание на на одну ошибку. #include &quot;stdafx.h&quot; #include...

Не могу найти ошибку 'mmxPar': identifier not found - C++
Смотрю второй час и не понимаю, VS пишет: error C3861: 'mmxPar': identifier not found ? Может кто подскажет? #include &quot;stdafx.h&quot; ...

"Identifier not found" при использовании функции system() - C++
Хотел бы спросить о следующем: 1) Почему, когда я использую функцию system(), у меня выводит след. ошибку --&gt; identifier not found ...

Identifier is undefined - C++
начал писать триггербот для кс го нужен был сурс ProcMem.cpp и хейдер ProcMem.h всё было. вообщем начал писать и тут такая проблема...


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

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

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