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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
RandomCat
3 / 3 / 0
Регистрация: 15.06.2011
Сообщений: 42
#1

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

15.06.2011, 20:04. Просмотров 1629. Ответов 2
Метки нет (Все метки)

Здравствуйте!

Есть функция 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)

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

Ошибка: идентификатор не найден - C++
Добрый день. При отладки вот этот код #include <iostream> #include <freeglut/freeglut.h> #include <glui/glui.h> #include...

Ошибка: идентификатор не найден - C++
Здраствуйте! Мучаюсь с небольшим участком кода третий день. int _tmain(int argc, _TCHAR* argv) { int n; // Размерность матрицы ...

Ошибка: идентификатор не найден - C++
#include <iostream> using namespace std; class Time { int Hours; int Min; public: Time :: Time() {}

Ошибка C3661 идентификатор не найден - C++
#include "stdafx.h" #include <iostream> #include <math.h> #include <stdio.h> using namespace std; double...

Ошибка error C3861 идентификатор не найден - C++
Делаю проект ATL Project В одном из методов хочу вызвать функцию, которая проверит дату. На вызове функции ошибка error C3861: getsec:...

Почему вылазит ошибка идентификатор не найден? - C++
main.cpp #include "functions.h" #include "Header.h" void main() { menu(); _getch(); }

2
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
15.06.2011, 20:12 #2
В четвёртом фрагменте бред.
В третьем — похоже что производится попытка вызвать функцию класса CSemestr внутри оператора, этому классу не принадлежащего.
Возможно имелось в виду
C++
1
c=date.Date2WeekdayStrict(aYyyy,aMm,aDd);
или
C++
1
c=semestr.Date2WeekdayStrict(aYyyy,aMm,aDd);
1
RandomCat
3 / 3 / 0
Регистрация: 15.06.2011
Сообщений: 42
15.06.2011, 20:56  [ТС] #3
C++
1
c=semestr.Date2WeekdayStrict(aYyyy,aMm,aDd);
Да! Теперь все норм.
Спасибо, grizlik78!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2011, 20:56
Привет! Вот еще темы с ответами:

Ошибка C3861 start: идентификатор не найден - C++
#include <iostream> #include <iomanip> #include "tree.h" #include <locale.h> using namespace std; void menu(int n) { ...

Ошибка компиляции Error C3861, идентификатор не найден - C++
#include <cstdlib> #include <ctime> const int N = 3; const int M = 3; int main() { int array = {}; ...

Ошибка error C3861: erfc: идентификатор не найден - C++
#include<iostream> #include<fstream> #include<math.h> using namespace std; int main() { ifstream file; ...

Ошибка сортировки "error C3861: merge: идентификатор не найден" - C++
Есть алгоритм сортировки слиянием void MergeSort(vector<int> &buf, size_t l, size_t r) { if (l >= r) return; size_t m = (l +...


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

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

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