Главная страница
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.074 c
15-1163485995
alex_drob
2006-11-14 09:33
2006.12.03
Лицензионный WinXP и новый HDD


15-1163402608
vidiv
2006-11-13 10:23
2006.12.03
Посоветуйте счетчик (кроме hotlog)


15-1163324692
Kerk
2006-11-12 12:44
2006.12.03
Фонарь


15-1163522933
изучающий дот нет
2006-11-14 19:48
2006.12.03
перспективы .NET на 4-5 лет


2-1163762370
stud
2006-11-17 14:19
2006.12.03
запуск задания job из дельфи