Текущий архив: 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.47 MB
Время: 0.032 c