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

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

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

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

25.11.2014, 22:13. Просмотров 613. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Синтаксические ошибки при компиляции классов (C++):

Синтаксические ошибки при компиляции программы - C++
Доброго времени суток ребят, у меня к вам просьба, посмотреть в чем проблема. #include&lt;iostream&gt; using namespace std; int main() ...

Синтаксические ошибки при компиляции программы на структуру - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; #define n 4; using namespace std; struct OIL{ char marka; int litri; int cena; ...

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

Синтаксические ошибки при сортировке массива пузырьком - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; using namespace std; void main(int size,int nums) ...

Ошибка при компиляции с методами классов - C++
При компиляции кода выдает следующие ошибки: \main.cpp(44) : error C2511: 'double P::area(double,double,double)' : overloaded member...

Синтаксические ошибки - C++
Всем привет !!! помогите пожалуста найти синтаксические ошибки в коде float x, y; //cout ;&lt;&lt; &quot;x=&quot;; cin &gt;&gt; x; if(x &lt; 0) { y...

1
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3969 / 2193 / 553
Регистрация: 18.10.2014
Сообщений: 3,802
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
Привет! Вот еще темы с ответами:

ошибка при компиляции проги, использущей шаблоны классов - C++
Возникла ошибка при компиляции проги, использующей шаблоны. Ошибка - undefined symbol /*...*/ in module main.cpp (линковщик не может...

Ошибка памяти при выполнении, при компиляции не выводит ошибки - C++
ПОмогите плс программа вводит строку символов до точки, а после вычисляет процент согласных в этой строке и выводит их в обратном порядке....

Ошибки при компиляции - C++
#include &lt;vcl.h&gt; #pragma hdrstop #include &quot;CDPlayer_.h&quot; #pragma package(smart_init) #pragma resource &quot;*.dfm&quot; TForm1 *Form1; ...

Ошибки при компиляции - C++
Ошибки: строки 25, 25, 27, 32. Условие задачи: Дан текст, состоящий из предложений, разделяемых точками. Напишите программу,...


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

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

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