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

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

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

Компилятор ругается на не объявленный идентификатор - C++

10.07.2016, 09:21. Просмотров 188. Ответов 5
Метки нет (Все метки)

Подскажите в чем проблема ?
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#pragma once
#include "stdafx.h"
class Employer
{
public:
    vector <Manager> managers;
    vector <Seller> sellers;
    vector <Intern> interns;
 
protected:
    string FName, LName;
    string position;
    int year;
    int exp;
    double salary;
 
public:
    Employer();
    Employer(string, string, string, int, int, double);
    Employer(const Employer&);
    friend istream& operator>> (istream&, Employer&);
    friend ostream& operator<< (ostream&, Employer&);
    
 
 
    virtual ~Employer();
};
 
#pragma once
#include "stdafx.h"
#include "Employer.h"
 
 
Employer::Employer() :FName("FName"), LName("LName"), position("Position"), year(0), exp(0), salary(0.0)
{
 
}
Employer::Employer(string fN, string lN, string p, int y, int e, double s)
{
    FName = fN;
    LName = lN;
    position = p;
    year = y;
    exp = e;
    salary = s;
}
Employer::Employer(const Employer& obj)
{
    FName = obj.FName;
    LName = obj.LName;
    position = obj.position;
    year = obj.year;
    exp = obj.exp;
    salary = obj.salary;
}
istream& operator>> (istream& inp, Employer& obj)
{
    int indx;
    Manager _mn;
    Seller _sl;
    Intern _in;
    cout << "Кого вы хотите добавить ? "<<endl;
    cout << "1- Manager" << endl;
    cout << "2- Seller" << endl;
    cout << "3- Intern" << endl;
    cin >> indx;
    switch (indx)
    {
    case 1:
        inp >> _mn;
        obj.managers.push_back(_mn);
        break;
    case 2:
        inp >> _mn;
        obj.sellers.push_back(_sl);
        break;
    case 3:
        inp >> _mn;
        obj.interns.push_back(_in);
        break;
    default:
        break;
    }
    return inp;
}
ostream& operator<< (ostream& out, Employer& obj)
{
    for (int i = 0; i < obj.managers.size(); i++)
    {
        out << obj.managers[i];
    }
    for (int i = 0; i < obj.managers.size(); i++)
    {
        out << obj.sellers[i];
    }
    for (int i = 0; i < obj.managers.size(); i++)
    {
        out << obj.interns[i];
    }
        return out;
}
 
Employer::~Employer()
{
}
Ошибка 1 error C2065: Manager: необъявленный идентификатор
Ошибка 2 error C2923: std::vector: "Manager" не является допустимым аргументом типа шаблон для параметра "_Ty"
Ошибка 3 error C2065: Seller: необъявленный идентификатор
Ошибка 4 error C2923: std::vector: "Seller" не является допустимым аргументом типа шаблон для параметра "_Ty"
Ошибка 5 error C2065: Intern: необъявленный идентификатор
Ошибка 6 error C2923: std::vector: "Intern" не является допустимым аргументом типа шаблон для параметра "_Ty"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2016, 09:21     Компилятор ругается на не объявленный идентификатор
Посмотрите здесь:

Почему ругается на не объявленный идентификатор - C++
#include&lt;iostream&gt; #include&lt;time.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; using namespace std; int main() { int...

Ругается на getline , пишет идентификатор не найден - C++
Ругается на getline , пишет идентификатор не найден #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cstring&gt; ...

компилятор ругается на структуру - C++
попалась вот такая вот структура для графа, но компилятору она не нравится.... template &lt;class V, class E&gt; struct graph { ...

Ругается компилятор (итераторы) - C++
Мужики в чем дело компилятор ругается C2451 #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; #include &lt;map&gt; using...

Компилятор ругается на fopen - C++
#include&lt;iostream&gt; #include&lt;stdio.h&gt; #include &lt;string.h&gt; #define MAX 50 using namespace std; // Приоритет операций int...

Компилятор ругается на fopen - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; int main() { FILE *f =...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pav1uxa
1788 / 1628 / 622
Регистрация: 23.01.2014
Сообщений: 5,906
Завершенные тесты: 1
10.07.2016, 09:39     Компилятор ругается на не объявленный идентификатор #2
Цитата Сообщение от MarsRB Посмотреть сообщение
Подскажите в чем проблема ?
Цитата Сообщение от MarsRB Посмотреть сообщение
Manager: необъявленный идентификатор
Что такое "Manager"? Откуда оно берется? Оно нигде не объявлено.

Такое же по остальным.
MarsRB
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 9
10.07.2016, 09:40  [ТС]     Компилятор ругается на не объявленный идентификатор #3
Это отдельные классы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
 
#include "Employer.h"
#include "Manager.h"
#include "Seller.h"
#include "Intern.h"
#include "Factory.h"
pav1uxa
1788 / 1628 / 622
Регистрация: 23.01.2014
Сообщений: 5,906
Завершенные тесты: 1
10.07.2016, 09:42     Компилятор ругается на не объявленный идентификатор #4
Цитата Сообщение от MarsRB Посмотреть сообщение
Это отдельные классы
Об этом я догадался.

Но компилятор их не видит. Видимо Вы их не включили в Employer.h.
MarsRB
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 9
10.07.2016, 09:44  [ТС]     Компилятор ругается на не объявленный идентификатор #5
Они в stdafx.h , а он подключен
Но я вроде уже понял что я не правильно использовал патерн Фабрика .За ответ большое спасибо .
Не судите строго , недавно начал учить с++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2016, 13:42     Компилятор ругается на не объявленный идентификатор
Еще ссылки по теме:

Компилятор ругается на USHORT * - C++
USHORT * pInt = new USHORT; Чего это он? 1&gt;d:\проги\указателя\указателя\указателя.cpp(48): error C2065: USHORT: необъявленный...

ошибка компилятор ругается... - C++
LDay::LDay(DayOfWeek today,unsigned short int Lessons,time LessonTime,string s1, string s2=&quot;TEST&quot;,string s3=&quot;&quot;,string s4=&quot;&quot;,string...

компилятор ругается помогите - C++
Недавно взялся за изучение С++ забил программку а запускаться не хочет #include &lt;iostream&gt; #include &lt;string&gt; struct node { ...

компилятор с++ 2012 ругается - C++
Алгоритмы накопления y=x - sqrt(abs(x)); x=(0.98,0.52,0.77,-0.67,-0.14); n=5 #include &quot;stdafx.h&quot; #include...


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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
10.07.2016, 13:42     Компилятор ругается на не объявленный идентификатор #6
Цитата Сообщение от MarsRB Посмотреть сообщение
stdafx.h
это необычный файл.
Он называется файлом предкомпилируемых заголовков.
Не стоит на него рассчитывать.
Yandex
Объявления
10.07.2016, 13:42     Компилятор ругается на не объявленный идентификатор
Ответ Создать тему
Опции темы

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