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

Ошибка: Идентификатор не найден. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
RandomCat
 Аватар для RandomCat
3 / 3 / 0
Регистрация: 15.06.2011
Сообщений: 42
15.06.2011, 20:04     Ошибка: Идентификатор не найден. #1
Здравствуйте!

Есть функция Date2WeekdayStrict.
вот так она объявлена в классе:
C++
1
2
public:
        int Date2WeekdayStrict(int,int,int);
и так реализована:
C++
1
2
3
4
5
6
7
8
9
10
int CSemestr::Date2WeekdayStrict(int aYyyy, int aMm, int aDd)
    {
    int x;
    int a=(14-aYyyy)/12;
    int ye =aYyyy-a+1;
    int mo=aMm+(aMm*12)-2;
    x = (7000+(aDd+ye+(ye/4)-(ye/100)+(ye/400)+(31*mo)/12)) % 7;
    if ((x+3)>7) return ((x+3)-7);
    else return x+3;
    }
При вызове ее здесь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int operator + (CSemestr date, CSemestr semestr)
{
    int aYyyy=date.GetYyyy();
    int aMm=date.GetMm();
    int aDd=date.GetDd();
    
    float Num, MD, DD;
    int c;
        c=Date2WeekdayStrict(aYyyy,aMm,aDd);
        switch (c)
        {
        case 2: 
            aDd=aDd-1;
            break;
                        .....
ошибка:
error C3861: Date2WeekdayStrict: идентификатор не найден

при попытке как-то исправить это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int operator + (CSemestr date, CSemestr semestr)
{
    int aYyyy=date.GetYyyy();
    int aMm=date.GetMm();
    int aDd=date.GetDd();
 
    int Date2WeekdayStrict(int,int,int);
 
    float Num, MD, DD;
    int c;
        c=Date2WeekdayStrict(aYyyy,aMm,aDd);
        switch (c)
        {
        case 2: 
            aDd=aDd-1;
            break;
                        .....
ошибка:
ссылка на неразрешенный внешний символ "int __cdecl Date2WeekdayStrict(int,int,int)" (?Date2WeekdayStrict@@YAHHHH@Z) в функции "int __cdecl operator+(class CSemestr,class CSemestr)" (??H@YAHVCSemestr@@0@Z)

вопрос - что я делаю не так? помогите исправить ошибку пожалуйста...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2011, 20:04     Ошибка: Идентификатор не найден.
Посмотрите здесь:

Возникает ошибка "Идентификатор Lbuffer не найден" C++
Идентификатор не найден C++
Ошибка error C3861: erfc: идентификатор не найден C++
ошибка идентификатор не найден C++
C++ Ошибка C3661 идентификатор не найден
Ошибка error C3861 идентификатор не найден C++
Возведение в квадрат и ошибка "sqare: идентификатор не найден" C++
C++ Ошибка: "getch: идентификатор не найден"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
15.06.2011, 20:12     Ошибка: Идентификатор не найден. #2
В четвёртом фрагменте бред.
В третьем — похоже что производится попытка вызвать функцию класса CSemestr внутри оператора, этому классу не принадлежащего.
Возможно имелось в виду
C++
1
c=date.Date2WeekdayStrict(aYyyy,aMm,aDd);
или
C++
1
c=semestr.Date2WeekdayStrict(aYyyy,aMm,aDd);
RandomCat
 Аватар для RandomCat
3 / 3 / 0
Регистрация: 15.06.2011
Сообщений: 42
15.06.2011, 20:56  [ТС]     Ошибка: Идентификатор не найден. #3
C++
1
c=semestr.Date2WeekdayStrict(aYyyy,aMm,aDd);
Да! Теперь все норм.
Спасибо, grizlik78!
Yandex
Объявления
15.06.2011, 20:56     Ошибка: Идентификатор не найден.
Ответ Создать тему
Опции темы

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