Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Силачам в С++ :-)   Найти похожие ветки 

 
Сишник   (2006-11-15 23:40) [0]

Как исправить следующие ошибки, возникающие при компиляции:

Vizov.obj : error LNK2001: unresolved external symbol "public: void __thiscall max::show_pod(void)" (?show_pod@max@@QAEXXZ)
Vizov.obj : error LNK2001: unresolved external symbol "public: void __thiscall max::pod(int,int,int)" (?pod@max@@QAEXHHH@Z)

Vizov.cpp:

#include "inf.h"
#include <iostream.h>
int main()
{
   
    int x,y,z;
 max h;
    cout<<"wwedite 3 4isla";
     cin>>x>>y>>z;
     
 h.pod(x,y,z);
   
    h.show_pod();
    cin.get();
    return 0;
}


inf.h:

#ifndef ss
#define ss
class max
{
private:
public:
    void pod(int x,int y, int z);
    void show_pod();
};
#endif


opred.cpp

#include "inf.h"
#include <iostream.h>

int m;

max::Pod(int x, int y, int z)
{
    if (x<y && x<z)
         m=x;
    if (z<x && z<y)
         m=z;
    if (y<x && y<z)
         m=y;
}

void show_pod()
{
    cout<<"Maximalniy element= "<<m;
}


 
Vga ©   (2006-11-15 23:45) [1]

> [0] Сишник   (15.11.06 23:40)

Не при компиляции, а при линковке...
Судя по виду - ты пытаешься слинковать без opred.obj, в С++ необходимо явно указывать линкеру какие объектники и библиотеки собирать в ехе.


 
Игорь Шевченко ©   (2006-11-15 23:47) [2]


>
> max::Pod(int x, int y, int z)
> {
>     if (x<y && x<z)
>          m=x;
>     if (z<x && z<y)
>          m=z;
>     if (y<x && y<z)
>          m=y;
> }
>
> void show_pod()
> {
>     cout<<"Maximalniy element= "<<m;
> }


void max::Pod(int x, int y, int z)
{
   if (x<y && x<z)
        m=x;
   if (z<x && z<y)
        m=z;
   if (y<x && y<z)
        m=y;
}

void max::show_pod()
{
   cout<<"Maximalniy element= "<<m;
}


 
DrPass ©   (2006-11-15 23:47) [3]

Судя по виду, прототипы функций

    void pod(int x,int y, int z);
    void show_pod();

явно не похожи на предлагаемые автором

max::Pod(int x, int y, int z)
void show_pod()


 
Vga ©   (2006-11-15 23:54) [4]

Попытался скомпилировать (GCC/MinGW).
Ужас... Автор, ты в курсе, что С++ чувствителен к регистру? Ты в курсе, что m - должно быть полем класса, иначе при более чем двух экземплярах max будут странности?


 
palva ©   (2006-11-15 23:55) [5]

В файле opred.cpp вместо
max::Pod(int x, int y, int z)
надо
void max::Pod(int x, int y, int z)
а вместо
void show_pod()
надо
void max::show_pod()


 
SkySpeed   (2006-11-15 23:57) [6]


> Игорь Шевченко ©   (15.11.06 23:47) [2]


> DrPass ©   (15.11.06 23:47) [3]

ОГРОМНОЕ СПАСИБО ВАМ!!!

P.S.: только недавно С++ изучать начал :)


 
Vga ©   (2006-11-15 23:58) [7]

> [5] palva ©   (15.11.06 23:55)

Ты малость заблуждаешься или имеешь более сговорчивый компилятор. Надо еще месть пять править.


 
palva ©   (2006-11-16 00:09) [8]

Vga ©   (15.11.06 23:58) [7]

> Ты малость заблуждаешься или имеешь более сговорчивый компилятор

Я не пробовал запускать компилятор. Написал сразу, что заметил.


 
Vga ©   (2006-11-16 00:15) [9]

> [8] palva ©   (16.11.06 00:09)

Значит не заметил. Надо еще (что помню, т.к. быстро забил):

> max::Pod(int x, int y, int z)
> надо
> void max::Pod(int x, int y, int z)

void max::pod(int x, int y, int z)
inf.h:


 
Vga ©   (2006-11-16 00:16) [10]

Черт, не то нажал
inf.h:
>void pod(int x,int y, int z);
void pod(int x, int y, int z);
Так что соблюдай стиль, а то так и будет...



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.141 c
15-1163169465
oldman
2006-11-10 17:37
2006.12.03
Это опять я и опять про карточки...


6-1152536756
Ал
2006-07-10 17:05
2006.12.03
Синхронизация часов


4-1153463650
AlexeyT
2006-07-21 10:34
2006.12.03
При отрисовке скроллбаров они *иногда* пропадают


6-1152890949
_kos
2006-07-14 19:29
2006.12.03
Socket в цикле


15-1163255455
homm
2006-11-11 17:30
2006.12.03
WWW: Оцените пожалуйста проект