С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 2 / 1
Регистрация: 28.08.2013
Сообщений: 414
1

Ошибка "Необъявленный идентификатор" препятствует успешной компиляции

04.07.2014, 00:13. Показов 2362. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подправьте код, что то не компилируется, не пойму в чем дело, на .cpp норм, а .с выдает ошибки
int max(int a, int b);синтаксическая ошибка: тип
Bubble(data,SIZE, min);min: необъявленный идентификатор



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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SIZE    10
 
 
int max(int a, int b);
int min(int a, int b);
void Bubble(int* d, int n, int (*comp)(int,int));
 
 
 
void Bubble(int* d, int n, int (*comp)(int,int)){
    int i,j;
    int buf;
    for(i=1;i<n;i++)
        for(j=0;j<n-i;j++)
            if(comp(d[j],d[j+1])){
                buf=d[j];d[j]=d[j+1]; d[j+1]=buf;
            }
}
 
 
int max(int a, int b){
    return a<b;
}
 
 
int min(int a, int b){
    return !max(a,b);
}
 
void main(){
    int i;
    int data[SIZE]={12,5,-6,25,3,0,7,34,-8,-88};
 
    Bubble(data,SIZE, min);
    for(i=0;i<SIZE;i++) printf("%d  ", data[i]);
    printf("\n");
 
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.07.2014, 00:13
Ответы с готовыми решениями:

Ошибка: необъявленный идентификатор
for(int i = 0; i &lt;= number; i++) { sum = sum + i; } Среда разработки MVC++ 2010. Выдает...

Ошибка в программе Error C2065: M_E: необъявленный идентификатор
Всем привет. Помогите пожалуйста исправить ошибку. В визуал студио 2008 выдаёт : c:\documents and...

Ошибка приведения типов препятствует успешной компиляции кода
Привет всем. Почему вылетает ошибка , о том что не может привести тип ? Я же объявляю тип double...

Добавление существующих элементов препятствует успешной компиляции
подключаю &quot;мастер страниц&quot; и др страницы при помощи: - добавить существующие элементы и при...

10
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
04.07.2014, 00:26 2
Zla9_Kolu4ka, есть три вопроса:
1. Зачем здесь функция max?
2. Зачем передавать указатель на функцию в функцию Bubble?
3. Какой компилятор?
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
04.07.2014, 00:42 3
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
1. Зачем здесь функция max?
2. Зачем передавать указатель на функцию в функцию Bubble?
Как это зачем ?
Сортируем на выбор по возрастанию или убыванию.
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
04.07.2014, 01:01 4
Цитата Сообщение от MrCold Посмотреть сообщение
Как это зачем ?
Я просто в коде не вижу толкового использования первых двух пунктов. Ну да ладно, не суть.
А про компилятор спросил, потому что у меня все без ошибок проходит.
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
04.07.2014, 01:27 5
компилируете как с++ код , поэтому нет ошибок.


ну с одним компаратором проходит
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SIZE    10
 
 
 int comp(const void *a, const void *b){
    int aa = *(const int* )a;
    int bb = *(const int* )b;
    return aa < bb ? -1 : (aa > bb);
}
 
 
void Bubble(int* d, int n, int (*comp)( const void* a, const void* b)){
    int i,j;
    int buf;
    for(i=1;i<n;i++)
        for(j=0;j<n-i;j++)
            if(comp(&d[j],&d[j+1]) > 0)
            {
                buf=d[j];
                d[j]=d[j+1];
                d[j+1]=buf;
            }
}
 
 
 
void main(){
    int i;
    int data[SIZE]={12,5,-6,25,3,0,7,34,-8,-88};
 
    Bubble(data,SIZE, comp);
    for(i=0;i<SIZE;i++) printf("%d  ", data[i]);
    printf("\n");
 
    system("pause");
}
1
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
04.07.2014, 01:35 6
Цитата Сообщение от MrCold Посмотреть сообщение
компилируете как с++ код , поэтому нет ошибок.
Ну только если gcc (не g++!) умеет плюсы компилировать.
0
2 / 2 / 1
Регистрация: 28.08.2013
Сообщений: 414
04.07.2014, 01:45  [ТС] 7
ну с одним компаратором проходит
то, что новый код идет-хорошо, а старый почему не хотит работать?
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
04.07.2014, 01:52 8
почему то имена функций min max не пропускает , а так ?
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
#include <stdio.h>
#include <stdlib.h>
 
#define SIZE    10
 
 
int max_compare(const void* a, const void* b);
int min_compare(const void* a, const void* b);
void Bubble(int* d, int n, int (*comp)(const void* a, const void* b));
 
 
 
 
void main(){
    int i;
    int data[SIZE]={12,5,-6,25,3,0,7,34,-8,-88};
 
    Bubble(data,SIZE, min_compare);
    for(i=0;i<SIZE;i++) printf("%d  ", data[i]);
    printf("\n");
 
    system("pause");
}
 
void Bubble(int* d, int n, int (*comp)(const void* a, const void* b)){
    int i,j;
    int buf;
    for(i=1;i<n;i++)
        for(j=0;j<n-i;j++)
            if(comp(&d[j],&d[j+1])){
                buf=d[j];d[j]=d[j+1]; d[j+1]=buf;
            }
}
 
 
int max_compare(const void* a, const void* b){
    int aa = *(const int* )a;
    int bb = *(const int* )b;
    return aa<bb;
}
 
 
int min_compare(const void* a, const void* b){
    return !max_compare(a,b);
}
0
2 / 2 / 1
Регистрация: 28.08.2013
Сообщений: 414
04.07.2014, 02:02  [ТС] 9
математическая библиотека подключена, как я сразу не догадался, думать ночью уже не охота, сразу на форум

хотя нет, математичскую библиотеку убрал все равно не работает, просто переименовал все max-Ы и min-Ы на maxx и minn и все норм, почему так?

Понял, в stdlib.h есть max и min
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
04.07.2014, 02:07 10
Цитата Сообщение от Zla9_Kolu4ka Посмотреть сообщение
почему так?
надо инклюды смотреть
Цитата Сообщение от MrCold Посмотреть сообщение
#include <stdio.h>
#include <stdlib.h>
где то там ссылка на #include <math.h>
понятия не имею зачем
0
2 / 2 / 1
Регистрация: 28.08.2013
Сообщений: 414
04.07.2014, 02:09  [ТС] 11
надо инклюды смотреть
без #include <stdlib.h> и system("pause") нормально идет
где то там ссылка на #include <math.h>
понятия не имею зачем
убрал #include <math.h> - забыл удалить просто
0
04.07.2014, 02:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.07.2014, 02:09
Помогаю со студенческими работами здесь

Ошибка компиляции "Необъявленный идентификатор"
error C2001: newline в константе error C2065: itsYear: необъявленный идентификатор error C2065:...

Ошибка необъявленный идентификатор
Изучаю C++ по книге. Дошел до следующего примера: 1 // Создание и использование внутренних...

Ошибка необъявленный идентификатор
Приветствую, Подскажите пожалуйста, как обойти вот такую проблемку: #include &lt;iostream&gt; ...

Ошибка: i: необъявленный идентификатор
нужно если d&gt;9 присвоить ss соотв по порядку букву англ алф #include &lt;iostream&gt; using namespace...

Ошибка необъявленный идентификатор
Ошибка: j: необъявленный идентификатор Как ее поправить, помогите пожалуйста #include &lt;iostream&gt;...

Ошибка: M_PI: необъявленный идентификатор
#include &lt;iostream&gt; #include &lt;locale&gt; #include &lt;math.h&gt; #define _USE_MATH_DEFINES using...

Ошибка 'vector: необъявленный идентификатор'
Возникают трудности при передаче вектора в функции находящиеся в другом файле. Понимаю что ошибка в...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru