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

чего хочет компилятор? - C++

Восстановить пароль Регистрация
 
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
15.05.2011, 22:26     чего хочет компилятор? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const double radius = 5.0;
struct point {
    double x;
    double y;
};
double distance(point p1, point p2) {
    return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
double getWeight(point field[], int size, point thePoint) {
    double weight=0;
    for(int i=0;i<size;i++)
        if(distance(field[i], thePoint)<=5)
            weight+=radius-distance(field[i], thePoint);
}
фрагмент кода. все понятно... ошибка:
Код
  In instantiation of `std::iterator_traits<point>': 
 instantiated from here 
129 C:\Dev-Cpp\include\c++\3.4.2\bits\stl_iterator_base_types.h no type named `iterator_category' in `struct point' 
130 C:\Dev-Cpp\include\c++\3.4.2\bits\stl_iterator_base_types.h no type named `value_type' in `struct point' 
131 C:\Dev-Cpp\include\c++\3.4.2\bits\stl_iterator_base_types.h no type named `difference_type' in `struct point' 
132 C:\Dev-Cpp\include\c++\3.4.2\bits\stl_iterator_base_types.h no type named `pointer' in `struct point' 
133 C:\Dev-Cpp\include\c++\3.4.2\bits\stl_iterator_base_types.h no type named `reference' in `struct point'
какого....(( в чем дело? :S
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Koste
 Аватар для Koste
26 / 26 / 0
Регистрация: 04.03.2011
Сообщений: 164
15.05.2011, 22:40     чего хочет компилятор? #2
Ты пользуешься stl библиотекой?
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
15.05.2011, 22:40  [ТС]     чего хочет компилятор? #3
нет...
Koste
 Аватар для Koste
26 / 26 / 0
Регистрация: 04.03.2011
Сообщений: 164
15.05.2011, 22:45     чего хочет компилятор? #4
Но ошибку выдают именно они! Если в коде уверены, то попробуйте их убрать из проекта
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
15.05.2011, 22:46     чего хочет компилятор? #5
Очень странно. Пока в голову приходит только перезапустить среду...
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
15.05.2011, 22:46  [ТС]     чего хочет компилятор? #6
вот полный код програмы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <math.h>
using namespace std;
const double radius = 5.0;
struct point {
    double x;
    double y;
};
double distance(point p1, point p2) {
    return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
double getWeight(point field[], int size, point thePoint) {
    double weight=0;
    for(int i=0;i<size;i++)
        if(distance(field[i], thePoint)<=5)
            weight+=radius-distance(field[i], thePoint);
}
int main() {
    point p1 = {0,0};
    point p2 = {1,1}; 
    cout<<distance(p1, p2);
    return 0;
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
15.05.2011, 22:48     чего хочет компилятор? #7
Убираем using namespace std;, используем явное разрешение пространства имён... Видать, где-то в std уже есть какое-то и использованное вами имя.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.05.2011, 22:48     чего хочет компилятор? #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
nikkka, думаю, компилятор в 12 строке подразумевает вызов функции distance.
Koste
 Аватар для Koste
26 / 26 / 0
Регистрация: 04.03.2011
Сообщений: 164
15.05.2011, 22:49     чего хочет компилятор? #9
А какая среда?
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.05.2011, 22:50     чего хочет компилятор? #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от silent_1991 Посмотреть сообщение
Убираем using namespace std;
Я бы даже сказал забываем навсегда про существование подобной конструкции.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
15.05.2011, 22:51     чего хочет компилятор? #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Уже миллион раз говорилось, не следует использовать using namespace std(во всяком случае не глобально)
distance
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
15.05.2011, 22:52  [ТС]     чего хочет компилятор? #12
всем спасибо, ошибка найдена, тема закрыта.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2011, 22:53     чего хочет компилятор?
Еще ссылки по теме:

Компилятор C++
C++ Компилятор
Не пойму чего хочет компилятор C++

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

Или воспользуйтесь поиском по форуму:
silent_1991
15.05.2011, 22:53     чего хочет компилятор?
  #13

Не по теме:

В последнее время вижу всё больше и больше подтверждений того, что пространства имён ввели не для того, чтобы от них юзингом в первых строчках кода избавляться))) Справедливость торжествует)))

Yandex
Объявления
15.05.2011, 22:53     чего хочет компилятор?
Ответ Создать тему
Опции темы

Текущее время: 18:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru