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

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

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

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

10.07.2016, 09:21. Просмотров 192. Ответов 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"
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2016, 09:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Компилятор ругается на не объявленный идентификатор (C++):

Почему ругается на не объявленный идентификатор - 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; ...

Ошибка что то типа не объявленный идентификатор,и типа невозможно преобразовать CStringW в там что..то - C++
Даже не знаю как сказать... короче есть база а Access,которую я подключил к проекту MFC,и в этой базе всего одно поле с текстовым типом...

Компилятор ругается - C++
Условие Создать класс, содержащий сведения о количестве изделий, собранный сборщиками цеха за неделю. Класс должен содержать следующие...

Компилятор не ругается - C++
Компилятор по разному реагирует на 2 указателя на строки (см.комментарии). В связи с этим появился вопрос - где хранятся аргументы...

Ругается компилятор - C++
Компилирую программу: // Proba2.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;vector&gt;...

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

Такое же по остальным.
0
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"
0
pav1uxa
1809 / 1652 / 631
Регистрация: 23.01.2014
Сообщений: 5,973
Завершенные тесты: 1
10.07.2016, 09:42 #4
Цитата Сообщение от MarsRB Посмотреть сообщение
Это отдельные классы
Об этом я догадался.

Но компилятор их не видит. Видимо Вы их не включили в Employer.h.
0
MarsRB
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 9
10.07.2016, 09:44  [ТС] #5
Они в stdafx.h , а он подключен
Но я вроде уже понял что я не правильно использовал патерн Фабрика .За ответ большое спасибо .
Не судите строго , недавно начал учить с++
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
10.07.2016, 13:42 #6
Цитата Сообщение от MarsRB Посмотреть сообщение
stdafx.h
это необычный файл.
Он называется файлом предкомпилируемых заголовков.
Не стоит на него рассчитывать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2016, 13:42
Привет! Вот еще темы с ответами:

Ругается компилятор - C++
Создать класс жидкость, имеющий название (указатель на строку), плотность. Определить конструкторы, деструктор и операторы вывода в поток....

ругается компилятор: - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;process.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; float a,b; ...

компилятор с++ 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...

Компилятор ругается на textcolor - C++
компилятор собственно Visual Studio C++ 2010 Express #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.07.2016, 13:42
Ответ Создать тему
Опции темы

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