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

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

Войти
Регистрация
Восстановить пароль
 
SK01736
3 / 3 / 1
Регистрация: 21.01.2011
Сообщений: 29
#1

Классы и методы, error LNK2001: неразрешенный внешний символ - C++

16.05.2012, 02:08. Просмотров 1107. Ответов 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// lab.k.kurs.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <locale.h>
#include <cstring>
#include <string>
#include <fstream>
#include <conio.h>
#include <iostream>
using namespace std;
 
class stip
{
public:
double sum[5];
char LName[5];
int resex[5][5];
char reszac[5][5];
void stipendiya(int i,int j);
double Add(int i,int j);
double Division(int i);
bool stip::check2(int i,int j);
bool stip::check1(int i,int j);
friend ostream& operator<<(ostream &stream,const stip &obj);
friend istream& operator>>(istream &stream,stip &obj);
};
int main()
{
    int i,j;
    stip stipendiya(int i,int j);
    ifstream f;
f.open("aaa.txt");
setlocale(LC_ALL, "Russian");
    stip LName[5],resex[5][5],reszac[5][5];
for(i=0;i<5;i++)
{
    f.seekg(f.tellg());
    f>>LName[i];
    cout<<LName[i]<<" ";
    for(j=0;j<5;j++)
    {
    f.seekg(f.tellg());
    f>>resex[i][j];
    cout<<resex[i][j]<<" ";
    }
    for(j=0;j<5;j++)
    {
    f.seekg(f.tellg());
    f>>reszac[i][j];
    cout<<reszac[i][j]<<" ";
    }
    cout<<endl;
for(j=0;j<5;j++)
stipendiya(i,j);
    cout<<endl;
}
cout<<resex[0][1]<<"\t"<<reszac[4][4]<<endl;
return 0;
}
double stip::Add(int i, int j)
{
for(int k=0;k<5;k++) sum[k]=0;
    sum[i]=sum[i]+resex[i][j];
 return sum[i];
}
bool stip::check2(int i,int j)
{
    char *zac="н";
    if (&reszac[i][j]==zac)
        return false;
    return true;
} 
double stip::Division(int i)
{
return sum[i]/5;
}
bool stip::check1(int i,int j)
{
        if (resex[i][j] == 1 || resex[i][j] == 2)
            return false;
    
    return true;
}
void stip::stipendiya(int i,int j)
{
 
    int n1[5],n2[5];
 
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
        if(stip::check1(i,j))
        {
        n1[i]=0;
        }
        else
        n1[i]=1;
        if(stip::check2(i,j))
        n2[i]=1;
        else
        n2[i]=0;
        Add(i,j);
    if(n1[i]==1||n2[i]==1)
        cout<<"Стипендии не будет!"<<endl;
    else if(stip::Division(i)>=4) cout<<"Стипендия будет! Средний бал составляет "<<stip::Division(i)<<endl;
    }
    }       
}
ostream& operator<<(ostream &stream,const stip &obj)
 {
     stream<<obj.LName<<noshowpos;
 return stream;
 }
//-----------------------
istream& operator>>(istream &stream,stip &obj)
 {
     stream>>obj.LName;
 return stream;
 }
пишет 1>lab.k.kurs.obj : error LNK2001: неразрешенный внешний символ ""class stip __cdecl stipendiya(int,int)" (?stipendiya@@YA?AVstip@@HH@Z)"
1>C:\Users\SK01736\Documents\Visual Studio 2010\Projects\lab.k.kurs\Debug\lab.k.kurs.exe : fatal error LNK1120: 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
int main()
{
    int i,j;
    stip stipendiya(int i,int j);
    ifstream f;
f.open("aaa.txt");
setlocale(LC_ALL, "Russian");
    stip LName[5],resex[5][5],reszac[5][5];
for(i=0;i<5;i++)
{
    f.seekg(f.tellg());
    f>>LName[i];
    cout<<LName[i]<<" ";
    for(j=0;j<5;j++)
    {
    f.seekg(f.tellg());
    f>>resex[i][j];
    cout<<resex[i][j]<<" ";
    }
    for(j=0;j<5;j++)
    {
    f.seekg(f.tellg());
    f>>reszac[i][j];
    cout<<reszac[i][j]<<" ";
    }
    cout<<endl;
//for(j=0;j<5;j++)
//stipendiya(i,j);
    cout<<endl;
}
cout<<resex[0][1]<<"\t"<<reszac[4][4]<<endl;
return 0;
}
то пишет ворнинг 1>c:\users\sk01736\documents\visual studio 2010\projects\lab.k.kurs\lab.k.kurs\lab.k.kurs.cpp(31): warning C4930: stip stipendiya(int,int): функция с прототипом не вызвана (предполагалось определение переменной?).
но без этой функции, прога 0.
спасите уже 6 часов думаю над этим.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2012, 02:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы и методы, error LNK2001: неразрешенный внешний символ (C++):

Error LNK2001: неразрешенный внешний символ - C++
Учусь по Страуструпу, решаю задание, нужно создать header файл и два cpp и заставить работать сообща. Почему-то VS12 матерится на...

Error LNK2001: неразрешенный внешний символ - C++
Помогите пожалуйста тупому нубу :) Все неприятности начались после добавления дружественного класса - class KWnd { static HWND...

Error LNK2001: неразрешенный внешний символ - C++
Доброго времени суток. Прочитал кучу страниц форума по поиску выданных, но так и не понял - что мне делать, имеется ошибка 1&gt;Def.obj :...

Error LNK2001: неразрешенный внешний символ - C++
Приветствую. Пытался вшить кое-что в программу, в итоге получаю множество ошибок линковки. Вывод: Ошибка 7 error LNK1120:...

Error LNK2001: неразрешенный внешний символ - C++
Скачал библиотеку ckhttp, подключил. Когда попытался скомпилировать пример с их сайта выдало ошибки: &gt;111.obj : error LNK2001:...

Error LNK2001: неразрешенный внешний символ - C++
Обязательными условиями задачи являются использование своих конструктора и деструктора. Среда программирования Visual Studio 2008. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Avazart
Эксперт С++
7191 / 5365 / 280
Регистрация: 10.12.2010
Сообщений: 23,674
Записей в блоге: 17
16.05.2012, 02:18 #2
Интересно как это вы решили вызвать метод без самого объекта класса?
C++
1
stip stipendiya(int i,int j); // стр31
0
SK01736
3 / 3 / 1
Регистрация: 21.01.2011
Сообщений: 29
16.05.2012, 02:28  [ТС] #3
Цитата Сообщение от Avazart Посмотреть сообщение
Интересно как это вы решили вызвать метод без самого объекта класса?
C++
1
stip stipendiya(int i,int j); // стр31
можно поподробней пожалуйста, Я с классами, методами и перегрузками не дружу(
0
Avazart
Эксперт С++
7191 / 5365 / 280
Регистрация: 10.12.2010
Сообщений: 23,674
Записей в блоге: 17
16.05.2012, 02:56 #4
Нет объекта - нет ф-ции которая с ним работает что непонятного?
C++
1
2
stip obj;
obj.stipendiya(1,2);
0
SK01736
3 / 3 / 1
Регистрация: 21.01.2011
Сообщений: 29
16.05.2012, 03:01  [ТС] #5
Цитата Сообщение от SK01736 Посмотреть сообщение
stip LName[5],resex[5][5],reszac[5][5];
кстати а это разве не объекты?

Добавлено через 4 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
Нет объекта - нет ф-ции которая с ним работает что непонятного?
C++
1
2
stip obj;
obj.stipendiya(1,2);
спасибо не знал, ты меня спас)
0
Avazart
Эксперт С++
7191 / 5365 / 280
Регистрация: 10.12.2010
Сообщений: 23,674
Записей в блоге: 17
16.05.2012, 03:12 #6
кстати а это разве не объекты?
Объекты.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2012, 03:12
Привет! Вот еще темы с ответами:

Error LNK2001: неразрешенный внешний символ - C++
Всем привет. Столкнулся с ошибкой : error LNK2001: неразрешенный внешний символ. 1&gt;------ Построение начато: проект: gama,...

Error LNK2001: неразрешенный внешний символ - C++
Приветствую. Подскажите пожалуйста почему программа не хочет компилироваться. Имеется заголовочный файл my.h extern int foo; ...

Error LNK2001: неразрешенный внешний символ "_main" - C++
1&gt;MSVCRT.lib(crtexe.obj) : error LNK2001: неразрешенный внешний символ &quot;_main&quot; Что это такое и как его убрать?

Error LNK2001: неразрешенный внешний символ "_mainCRTStartup" - C++
здравствуйте. я новичок в программировании, и у меня такая проблема. в ms visual c++ 2010 express создаю проект -&gt; консольное приложение...


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

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

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