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

Ссылка на неразрешённый символ - C++

Восстановить пароль Регистрация
 
Slavytuch
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 74
22.05.2014, 00:24     Ссылка на неразрешённый символ #1
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
106
107
108
109
110
111
112
113
114
115
116
117
118
#include "stdafx.h"
#include "stdio.h"
#include <clocale>
#include <iomanip>
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
 
class sotrydnik
{//класс содержит поля:
    //name - имя,surname - фамилия,number - рабочий номер
private:
    string surname;
    string name;
    int number;
public:
    string get_surname()
    {//получение фамилии сотрудника
        return surname;
    }
    string get_name()
    {//получение фамилии сотрудника
        return name;
    }
    int get_number()
    {//получение номера сотрудника
        return number;
    }
    friend ifstream &operator >> (ifstream &inp, sotrydnik & one);
    friend ostream &operator << (ostream &out, sotrydnik one);
    virtual void read(istream & inp);
    virtual void tell(ostream & out);
};
 
class members:public sotrydnik
{
public:
    string name1;
    int number_of_coverents;
};
 
void sotrydnik::read(istream &inp)
{
    inp >> surname;
    inp >> name;
    inp >> number;
}
 
void sotrydnik::tell(ostream & out)
{
    out << setw(10) << surname << setw(10) << name << setw(10) << number << endl;
}
 
istream &operator >> (istream &inp, sotrydnik & one)
{
    one.read(inp);
    return inp;
}
 
ostream &operator <<(ostream& out, sotrydnik one)
{
    one.tell(out);
    return out;
}
 
 
 
int shortest_num(members * a)
{
    int num = a[0].get_number();
    for (int i = 0; i < a[0].number_of_coverents; ++i)
    if (a[i].get_number() < num)
        num = a[i].get_number();
    return num;
}
 
 
void get_rez(ostream &out, members *a)
{
    out << "Самый короткий рабочий номер = " << shortest_num(a)<<endl;
    out << "Фамилии сотрудников с именем " << a[0].name1 << ":" << endl;
    for (int i = 0; i < a[0].number_of_coverents;++i)
    if (a[0].name1 == a[i].get_name())
        out << a[i].get_name();
    out << ".";
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    members *Men;
    
    int n, c = 0;
    string name;
    ifstream read1("C:\\Logan\\InputFile.txt");
    ifstream read2("C:\\Logan\\InputFile2.txt");
    read1 >> n;
    read2 >> name;
    Men = new members[n];
    for (int i = 0; !EOF; ++i)
    {
        Men[i].number_of_coverents = n;
        read1 >> Men[i];
        Men[i].name1 = name;
    }
    read1.close();
    read2.close();
    ofstream outp("C:\\Logan\\OutputFile.txt");
    cout << "Начальные данные сотрудников:" << endl;
    cout << setw(10) << "Фамилия" << setw(10) << "Имя" << setw(10) << "Номер" << endl << endl;
    for (int i = 0; i < n; ++i)
        cout << Men[i];
    get_rez(outp, Men);
    outp.close();
    system("pause>>end");
    return 0;
}
При сборке выдаёт в ошибке кучу символов и ошибки :"Ссылка на неразрешённый символ", "Неразрешённых внешних символов:1". Что делать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.05.2014, 00:27     Ссылка на неразрешённый символ #2
Цитата Сообщение от Slavytuch Посмотреть сообщение
Что делать?
Исправлять. Текст ошибки покажите (в выводе компилятора).
Slavytuch
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 74
22.05.2014, 00:33  [ТС]     Ссылка на неразрешённый символ #3
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ifstream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_ifstream<char,struct std::char_traits<char> > &,class sotrydnik &)" (??5@YAAAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@AAV01@AAVsotrydnik@@@Z) в функции _wmain C:\Users\Viacheslav\documents\visual studio 2013\Projects\Laboratornaya 5.3\Laboratornaya 5.3\Laboratornaya 5.3.obj Laboratornaya 5.3


Ошибка 2 error LNK1120: неразрешенных внешних элементов: 1 C:\Users\Viacheslav\documents\visual studio 2013\Projects\Laboratornaya 5.3\Debug\Laboratornaya 5.3.exe Laboratornaya 5.3
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.05.2014, 00:36     Ссылка на неразрешённый символ #4
Реализации вот этого оператора нет:
C++
1
friend ifstream &operator >> (ifstream &inp, sotrydnik & one);
Slavytuch
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 74
22.05.2014, 00:47  [ТС]     Ссылка на неразрешённый символ #5
Починил, но из файла ничего не читает(

Добавлено через 3 минуты
Всё, я нашёл ошибку, при считывании у меня признак выхода из цикла был неправильно указан. Спасибо что отозвался))
Yandex
Объявления
22.05.2014, 00:47     Ссылка на неразрешённый символ
Ответ Создать тему
Опции темы

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