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

main.obj : error LNK2019: unresolved external symbol - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
azaron
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14
05.03.2011, 16:52     main.obj : error LNK2019: unresolved external symbol #1
Класс Circle (круг). Класс хранит Декартовы координаты центра круга, а также значения точки, на кругу. Должны быть предусмотренные функции-элементы, которые вычисляют длину круга, площадь и диаметр.
Компилятор :
1>main.obj : error LNK2019: unresolved external symbol "public: double __thiscall circle:loshcha(void)" (?ploshcha@circle@@QAENXZ) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "public: double __thiscall circle::dovgina(void)" (?dovgina@circle@@QAENXZ) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "public: double __thiscall circle::diametr(void)" (?diametr@circle@@QAENXZ) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "public: double __thiscall circle::radius(void)" (?radius@circle@@QAENXZ) referenced in function _main
1>E:\Наука\*\програмування\lab 4\Debug\lab 4.exe : fatal error LNK1120: 4 unresolved externals
обясните , хто может


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
//circle.h
 
class circle {
 
public:
    circle(int xc=0,int yc=0, int x=1, int y=1 );//констуркор по замовачуванню
    circle(const circle & circ );//конструктор копіювання
    virtual ~circle();//деструктор
 
    double radius();
    double dovgina();
    double ploshcha();
    double diametr ();
    
};
 
 
//circle.cpp
 
#include "circle.h"
#include <math.h>
circle::circle(int xc,int yc, int x, int y )
{
    xc=0;
    yc=0;
    x=1;
    y=1;
}
circle::circle(const circle& circ)
{
    *this = circ ;
}
circle:: ~circle()
{
}
 
double radius (int xc, int yc, int x, int y)
{
    double r,tmp;
    tmp=(xc-x)*(xc-x)+(yc-y)*(yc-y);
    r=sqrt(tmp) ;
    return r;
}
 
double dovgina(double r)
    {
        double c;
        c=6.28*r;
        return c;
    }
double ploshcha(double r)
    {
        double s;
        s=3.14*r*r;
        return s;
    }
double diametr (double r)
    {
        double d;
        d=2*r;
        return d;
    }
 
 
//main.cpp
 
#include "circle.h"
#include <iostream>
using namespace std;
int main()
{
    circle circ1;
    cout << "circ1" << endl;
    cout<< circ1.radius();
    cout<<circ1.diametr();
    cout<<circ1.dovgina();
    cout<<circ1.ploshcha();
    
    circle circ2(1,5,4,7);
    cout<<"circ2"<<endl;
    cout<<circ2.ploshcha();
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2011, 16:52     main.obj : error LNK2019: unresolved external symbol
Посмотрите здесь:

C++ vector, error LNK2019: unresolved external symbol
C++ error LNK2019: unresolved external symbol
error LNK2019: unresolved external symbol C++
C++ error LNK2019: unresolved external symbol __imp__
C++ error LNK2019: unresolved external symbol
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
05.03.2011, 22:17     main.obj : error LNK2019: unresolved external symbol #2
Если это три разных файла в одном, то что-то в проекте не линкуеся. В вижуал С++ при трех файлах проще пересоздать проект...
azaron
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14
06.03.2011, 02:57  [ТС]     main.obj : error LNK2019: unresolved external symbol #3
да нет, здесь в 3 разних файлах
просто я ищо толком сам не понимаю что написал в коде) зелень ) вот и спрашиваю мож чот недописал, не по правилам оформил і тп
я сижу на віжуал студии 10, если ето имеет смисл
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
06.03.2011, 08:27     main.obj : error LNK2019: unresolved external symbol #4
Так правильнее:
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
//main.cpp
 
#include "Circle.h"
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
        circle circ1(0,0,1,1); 
        cout<< "circ1, rad: " <<  circ1.radius() <<endl;
        cout<<"diametr: " << circ1.diametr() << " dlina okr: " << circ1.dovgina() << " ploshad: " << circ1.ploshcha() << endl;
        
        circle circ2(1,5,4,7);//создаем новый экземпляр класса круг, с точками как я понимаю в 1,5(центр), и в 4,7(окружность), для подсчета радиуса
    cout << endl;
        cout << "circ2"<<endl;
        cout << circ2.radius();//считаем радиус, так как без него вызов подсчета площади не имеет смысла в вашем случае(не подсчитан радиус) :)
        cout << circ2.ploshcha() << " "<<endl;//выводим площадь.
 
    cout << endl;
 
    circle circ3(circ1);//юзаем констр. копирования
    cout<<"circ3radius = circ1radius: "<<circ3.radius()<<endl;
 
        system ("pause");
        return 0;
}
 
//circle.cpp
 
#include "Circle.h"
#include <math.h>
circle::circle(int xc1, int yc1, int x1, int y1)
{    
    xc = xc1;
    yc = xc1;
    x = x1;
    y = y1;
}
circle::circle(const circle& circ)
{
        *this = circ ;
}
circle:: ~circle()
{}
 
double circle::radius ()
{
    double tmp;
        tmp=(xc-x)*(xc-x)+(yc-y)*(yc-y);
        r=sqrt(tmp) ;
        return r;
}
double circle::dovgina()
        {
        double c;
                c=6.28*r;
                return c;
        }
double circle::ploshcha()
        {
                double s;
                s=3.14*r*r;
                return s;
        }
double circle::diametr ()
        {
                double d;
                d=2*r;
                return d;
        }
 
 
//circle.h
class circle {
 
private:
    int xc,yc,x,y;
    double r;
 
public:
        circle(int xc1, int yc1, int x1, int y1);//констуркор по замовачуванню
        circle(const circle & circ );//конструктор копіювання
        virtual ~circle();//деструктор
 
        double radius ();
        double dovgina();
        double ploshcha();
        double diametr ();  
        
};
azaron
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14
06.03.2011, 11:11  [ТС]     main.obj : error LNK2019: unresolved external symbol #5
спасибо, помогло)
Yandex
Объявления
06.03.2011, 11:11     main.obj : error LNK2019: unresolved external symbol
Ответ Создать тему
Опции темы

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