Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Slavytuch
0 / 0 / 1
Регистрация: 29.09.2013
Сообщений: 95
1

Синтаксические ошибки при компиляции классов

25.11.2014, 22:13. Просмотров 711. Ответов 1
Метки нет (Все метки)

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// DiscreteMath_Lab11.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "stdio.h"
#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;
 
class point
{
public:
    int x_koord;
    int y_koord;
};
 
int distance(point a, point b)
{
    int res = 0;
    res = sqrt(pow(b.x_koord - a.x_koord, 2) + pow(b.y_koord - a.y_koord, 2));
    return res;
}
 
class komivoiyajer
{
public:
    int rast = 0;
    int min_rast = INT_MAX;
    int path[9];
    point *R = new point[10];
    void madness()
    {
        R[0].x_koord = 0;
        R[0].y_koord = 0;
        for (int a = 0; a < 10;++a)
        for (int b = 0; b < 10; ++b)
        for (int c = 0; c < 10; ++c)
        for (int d = 0; d < 10; ++d)
        for (int e = 0; e < 10; ++e)
        for (int f = 0; f < 10; ++f)
        for (int g = 0; g < 10; ++g)
        for (int h = 0; h < 10; ++h)
        for (int i = 0; i < 10; ++i)
        {
            rast= distance(R[a], R[b]) + distance(R[b], R[c]) + distance(R[c], R[d]) + distance(R[d], R[e]) + distance(R[e], R[f]) + distance(R[f], R[g]) + distance(R[g], R[h]) + distance(R[h], R[i]) + distance(R[i], R[0]);
            if (rast < min_rast)
            {
                min_rast = rast;
                path[0] = a; path[1] = b; path[2] = c; path[3] = d; path[4] = e; path[5] = f; path[6] = g; path[7] = h; path[8] = i;
            }
        }
        cout << "Min path = " << min_rast;
        cout << endl << "Rout is:" << endl;
        for (int i = 0; i < 9; ++i)
            cout << path[i]<<" ";
        system("pause>>end");
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    ifstream inp("C:\\Learning and stuff\\Input.txt");
    komivoiyajer B;
    for (int i = 1; i < 10; ++i)
    {
        inp >> B.R[i].x_koord;
        inp >> B.R[i].y_koord;
    }
    B.madness();
    return 0;
}

Выдаёт ряд ошибок (24) непонятной мне природы:
Ошибка 2 error C2039: iterator_category: не является членом "point" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 371 1 DiscreteMath_Lab11
Ошибка 3 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "iterator_category" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 371 1 DiscreteMath_Lab11
Ошибка 4 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 371 1 DiscreteMath_Lab11
Ошибка 5 error C2602: std::iterator_traits<point>::iterator_category не является членом базового класса "std::iterator_traits<point>" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 371 1 DiscreteMath_Lab11
Ошибка 6 error C2868: std::iterator_traits<point>::iterator_category: недопустимый синтаксис для "using"-объявления; требуется полное имя c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 371 1 DiscreteMath_Lab11
Ошибка 7 error C2039: value_type: не является членом "point" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 372 1 DiscreteMath_Lab11
Ошибка 8 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "value_type" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 372 1 DiscreteMath_Lab11
Ошибка 9 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 372 1 DiscreteMath_Lab11
Ошибка 10 error C2602: std::iterator_traits<point>::value_type не является членом базового класса "std::iterator_traits<point>" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 372 1 DiscreteMath_Lab11
Ошибка 11 error C2868: std::iterator_traits<point>::value_type: недопустимый синтаксис для "using"-объявления; требуется полное имя c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 372 1 DiscreteMath_Lab11
Ошибка 12 error C2039: difference_type: не является членом "point" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 373 1 DiscreteMath_Lab11
Ошибка 13 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "difference_type" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 373 1 DiscreteMath_Lab11
Ошибка 14 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 373 1 DiscreteMath_Lab11
Ошибка 15 error C2602: std::iterator_traits<point>::difference_type не является членом базового класса "std::iterator_traits<point>" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 373 1 DiscreteMath_Lab11
Ошибка 16 error C2868: std::iterator_traits<point>::difference_type: недопустимый синтаксис для "using"-объявления; требуется полное имя c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 373 1 DiscreteMath_Lab11
Ошибка 17 error C2039: pointer: не является членом "point" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 375 1 DiscreteMath_Lab11
Ошибка 18 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "pointer" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 375 1 DiscreteMath_Lab11
Ошибка 19 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 375 1 DiscreteMath_Lab11
Ошибка 20 error C2602: std::iterator_traits<point>:ointer не является членом базового класса "std::iterator_traits<point>" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 375 1 DiscreteMath_Lab11
Ошибка 21 error C2868: std::iterator_traits<point>:ointer: недопустимый синтаксис для "using"-объявления; требуется полное имя c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 375 1 DiscreteMath_Lab11
Ошибка 22 error C2039: reference: не является членом "point" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 376 1 DiscreteMath_Lab11
Ошибка 23 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "reference" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 376 1 DiscreteMath_Lab11
Ошибка 24 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 376 1 DiscreteMath_Lab11
Ошибка 25 error C2602: std::iterator_traits<point>::reference не является членом базового класса "std::iterator_traits<point>" c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 376 1 DiscreteMath_Lab11
Ошибка 26 error C2868: std::iterator_traits<point>::reference: недопустимый синтаксис для "using"-объявления; требуется полное имя c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility 376 1 DiscreteMath_Lab11
Понятия не имею что не так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 22:13
Ответы с готовыми решениями:

Синтаксические ошибки при компиляции программы
Доброго времени суток ребят, у меня к вам просьба, посмотреть в чем проблема....

Синтаксические ошибки при компиляции программы на структуру
#include &lt;iostream&gt; #include &lt;string.h&gt; #define n 4; using namespace std;...

Наследование классов, ошибки при компиляции
У меня проблемы программы возникают при компиляции. Я читаю, что использование...

Использование классов и объектов, ошибки при компиляции
Добры день! Не могу понять почему при компиляции кода выдает ошибки. Вроде все...

Синтаксические ошибки при сортировке массива пузырьком
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...

1
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4764 / 2423 / 676
Регистрация: 18.10.2014
Сообщений: 4,141
25.11.2014, 22:35 2
Цитата Сообщение от Slavytuch Посмотреть сообщение
Выдаёт ряд ошибок (24) непонятной мне природы:
Ну так, а чего вы хотели? Кто вас научил делать 'using namespace std;' в коде?

Вы тупо вывалили все пространство имен 'std' в глобальное пространство имен. В пространстве имен 'std' есть своя шаблонная функция 'std::distance', работающая на итераторах. Она тоже является кандидатом на вызов в ваших вызовах 'distance'. Но при компиляции этой стандартной версии для вашего класса 'point' (который итератором не является) происходят вышепроцитированные ошибки.

Либо перестаньте заниматься такой фигней, как 'using namespace std', либо явно указывайте в своих вызовах '::distance'.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2014, 22:35

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class...

Ошибка при компиляции с методами классов
При компиляции кода выдает следующие ошибки: \main.cpp(44) : error C2511:...

Синтаксические ошибки
Всем привет !!! помогите пожалуста найти синтаксические ошибки в коде ...


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

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

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