0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 81
1

Identifier not found

23.11.2014, 08:08. Показов 4346. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2014, 08:08
Ответы с готовыми решениями:

Strcpy identifier not found
Не компилируеться, подчеркивает strcpy в чем может быть ошибка? void printHrad(struct hrady...

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

Identifier not found при вызове функции
Здравствуйте. В моем консольном приложении помимо функции int _tmain, есть функция ...

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

2
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 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
С чаем беда...
Эксперт CЭксперт С++
10012 / 5358 / 1467
Регистрация: 18.10.2014
Сообщений: 12,921
23.11.2014, 09:43 3
Цитата Сообщение от Best_Coder Посмотреть сообщение
Почему функции ArrayPrint и Positive должны располагаться над ArrayBuild?
Потому что так устроен язык С++. В языке С++ разрешается использовать только те имена, которые были заранее объявлены где-то выше по коду.

В языке С когда-то разрешалось использовать необъявленные имена, но и в С эта практичка была запрещена в стандарте 1999 года.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2014, 09:43
Помогаю со студенческими работами здесь

Ошибка в коде ('sqrt': identifier not found)
Компилятор VS 2005 выдает ошибку: error C3861: 'sqrt': identifier not found вот сам код...

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

Не могу найти ошибку 'mmxPar': identifier not found
Смотрю второй час и не понимаю, VS пишет: error C3861: 'mmxPar': identifier not found ? Может кто...

Error C3861: 'convert_close': identifier not found //ошибка
Ребята вы пожалуйста не обращайте внимание на код, обратите только внимание на на одну ошибку. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru