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

Идентификатор не определён

23.11.2015, 01:24. Показов 15094. Ответов 4

Author24 — интернет-сервис помощи студентам
В общем, есть программа. Написал, вроде бы, правильно, но уже который день бьюсь над одной ошибкой.
Собственно, вот код:

Главная программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include "Date.h"
#include <conio.h>
 
using namespace std;
 
int main()
{
    Date *d1= new Date;
    Date *d2 = new Date;
    cout << "Input first date" << endl;
    d1->Input();
    cout << "Input second date" << endl;
    d2->Input();
    cout << "Date 1: ";
    d1->Print();
    cout << "Date 2: ";
    d2->Print();
    Compare(&d1, &d2); //Здесь ошибка
    _getch();
    return 0;
}
Методы класса
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
73
74
75
76
77
#include "Date.h"
#include <windows.h>
#include <iostream>
#include <conio.h>
using namespace std;
 
Date::Date(int d, int m, int y)
{
    day = d;
    month = m;
    year = y;
}
 
Date::Date()
{
    day = 0;
    month = 0;
    year = 0;
}
 
void Date::Input()
{
    cout << "Day: ";
    cin >> day;
    cout << "Month: ";
    cin >> month;
    cout << "Year: ";
    cin >> year;
}
 
void Date::Print()
{
    cout << day << "." << month << "." << year << endl;
}
void Date::Compare(Date *d1, Date *d2)
{
    if (d1->year > d2->year)
    {
        d1->Print();
        cout << " => ";
        d2->Print();
 
        if (d1->year == d2->year)
        {
            if (d1->month > d2->month)
            {
                d1->Print();
                cout << " => ";
                d2->Print();
 
                if (d1->month == d2->month)
                {
                    if (d1->day > d2->day)
                    {
                        d1->Print();
                        cout << " => ";
                        d2->Print();
 
                        if (d1->day == d2->day)
                        {
                            d1->Print();
                            cout << " == ";
                            d2->Print();
                        }
 
                        else
                        {
                            d1->Print();
                            cout << "<=";
                            d2->Print();
                        }
                    }
                }
            }
        }
    }
}
Заголовочный файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using namespace std;
 
class Date
{
public:
    Date operator* (const Date*) const;
    Date(int d, int m, int y);
    Date();
    void Date::Input();
    void Date::Print();
    void Date::Compare(Date *d1, Date *d2);
 
private:
    int day;
    int month;
    int year;
};
А ошибка такая:
Ошибка 1 error C3861: Compare: идентификатор не найден c:\users\admin\documents\visual studio 2013\projects\consoleapplication24\consoleapplication24\main.cpp 19 1 ConsoleApplication24
2 IntelliSense: идентификатор "Compare" не определен c:\Users\admin\Documents\Visual Studio 2013\Projects\ConsoleApplication24\ConsoleApplication24\Main.cpp 19 2 ConsoleApplication24

Если кто-то поможет, то буду очень признателен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2015, 01:24
Ответы с готовыми решениями:

идентификатор _ReturnAddr идентификатор не определён; _ReturnAddress идентификатор не найден
#include &quot;Hooks.h&quot; #include &quot;Hacks.h&quot; #include &quot;Chams.h&quot; #include &quot;Menu.h&quot; #include...

Требуется идентификатор (идентификатор с не определён)
Не могу понять в чём ошибка данного записи.Пожалуйста, объясните!!! vector &lt;pair&lt;int, int&gt;&gt; STACK;...

Идентификатор не определён
class Bird { protected: float Wings, Speed; public: void Input(); void Show();...

Идентификатор не определен
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; int voidmain() { int i,j,r; Long int...

4
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
23.11.2015, 01:51 2
В заголовочнике измени:
C++
1
2
3
    void Date::Input();
    void Date::Print();
    void Date::Compare(Date *d1, Date *d2);
На:
C++
1
2
3
    void Input();
    void Print();
    void Compare(Date *d1, Date *d2);
0
0 / 0 / 0
Регистрация: 23.11.2015
Сообщений: 2
23.11.2015, 02:12  [ТС] 3
Не помогло.
0
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
23.11.2015, 02:21 4
inhix, а все, увидел)
Compare(&d1, &d2); //Здесь ошибка
Она здесь и будет, Compare является методом класса.
C++
1
d1->Compare(d1, d2);
0
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
23.11.2015, 02:46 5
Лучший ответ Сообщение было отмечено inhix как решение

Решение

Можно метод сделать статическим:
C++
1
    static void Compare(Date *d1, Date *d2);
И тогда в основной программе прокатит так:
C++
1
    Date::Compare(d1, d2);
Название: b7foQq8.png
Просмотров: 382

Размер: 3.7 Кб
1
23.11.2015, 02:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2015, 02:46
Помогаю со студенческими работами здесь

Не определён идентификатор
Ругается на - CRC08. В этой строке: class CRC08Hash : public CRCHash&lt;CRC08, 0x8CU, 0xFFU,...

Идентификатор не определен
int main() { int a; сin &gt;&gt; a; //system(&quot;pause&quot;); }

Идентификатор не определен
Пишет что идентификатор х - не определён //простая программа которая демонстрирует использование...

C++ идентификатор не определен
Приветствую. Помогите, пожалуйста, пофиксить данную ошибку: идентификатор _xor_ не объявлен ...


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

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

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