Załapałem już o co chodzi, wszystko poszło, ale utkwiłem na kilku innych metodach.
#include <iostream>
#include <string>
#include "class_uzytkownik.h"
#include "class_gracz.h"
#include "def_fun.h"
#include "Structures.h"
using namespace std;
#define M 8
void uzytkownik::graj(char plansza[][M])
{
pole pionek, cel;
string gracz1;
cout<<"Podaj nazwe gracza nr 1:";
cin>>gracz1;
string gracz2;
cout<<"Podaj nazwe gracza nr 2:";
cin>>gracz2;
cout<<" \n Zaczynamy gre. Wiersze i kolumny sa numerowane od 0 do 7. Gracz "<<gracz1<<" jest oznaczony jako kolko, a "<<gracz2<<" jako krzyzyk"<<endl;
cout<<"Damka gracza "<<gracz1<<" jest oznaczona jako D, a damka gracza "<<gracz2<<" jest oznaczona jako K\n\n"<<endl;
wynik wynik_gry={12,12};
while(wynik_gry.gracz1>0&&wynik_gry.gracz2>0)
{
cout<<"Teraz gra "<<gracz1<<"\n"<<endl;
pionek=uzytkownik::wczytaj_ktory_pionek(plansza,'O','D','X', 'K');
cel=uzytkownik::wczytaj_gdzie_przesunac(plansza, pionek,'O','D', 'X','K');
uzytkownik::przesun_pionek(plansza, pionek, cel, &wynik_gry);
pokaz_plansze(plansza);
cout<<"\nIlosc pionkow gracza "<<gracz1<<" wynosi "<<wynik_gry.gracz1<<endl;
cout<<"Teraz gra "<<gracz2<<endl;
pionek=uzytkownik::wczytaj_ktory_pionek(plansza,'X','K','O', 'D');
cel=uzytkownik::wczytaj_gdzie_przesunac(plansza, pionek, 'X','K','O','D');
uzytkownik::przesun_pionek(plansza,pionek,cel, &wynik_gry);
pokaz_plansze(plansza);
cout<<"Ilosc pionkow gracza "<<gracz2<<" wynosi "<<wynik_gry.gracz2<<endl;
}
if(wynik_gry.gracz1==0)
{
cout<<"Gra zostala zakonczona. Wygral gracz "<<gracz2;
}
if(wynik_gry.gracz2==0)
{
cout<<"Gra zostala zakonczona. Wygral gracz "<<gracz1;
}
}
jest to klasa dziedzicząca z klasy gracz, zaś te 3 metody zostały zadeklarowe w pliku class_gracz.h oraz zdefiniowane w pliku class_gracz.cpp.
I znowu przy linkowaniu wywala mi błąd
Error 1 error LNK2019: unresolved external symbol "protected: void __thiscall gracz::przesun_pionek(char (* const)[8],struct pole,struct pole,struct wynik *)" (?przesun_pionek@gracz@@IAEXQAY07DUpole@@1PAUwynik@@@Z) referenced in function "public: virtual void __thiscall gracz::graj(char (* const)[8])" (?graj@gracz@@UAEXQAY07D@Z) C:\Users\Kamil\Documents\Visual Studio 2010\Projects\Projekt PO\Projekt PO\class_uzytkownik.obj Projekt PO
Error 2 error LNK2019: unresolved external symbol "protected: struct pole __thiscall gracz::wczytaj_gdzie_przesunac(char (* const)[8],struct pole,char,char,char,char)" (?wczytaj_gdzie_przesunac@gracz@@IAE?AUpole@@QAY07DU2@DDDD@Z) referenced in function "public: virtual void __thiscall gracz::graj(char (* const)[8])" (?graj@gracz@@UAEXQAY07D@Z) C:\Users\Kamil\Documents\Visual Studio 2010\Projects\Projekt PO\Projekt PO\class_uzytkownik.obj Projekt PO
Error 3 error LNK2019: unresolved external symbol "protected: struct pole __thiscall gracz::wczytaj_ktory_pionek(char (* const)[8],char,char,char,char)" (?wczytaj_ktory_pionek@gracz@@IAE?AUpole@@QAY07DDDDD@Z) referenced in function "public: virtual void __thiscall gracz::graj(char (* const)[8])" (?graj@gracz@@UAEXQAY07D@Z) C:\Users\Kamil\Documents\Visual Studio 2010\Projects\Projekt PO\Projekt PO\class_uzytkownik.obj Projekt PO
Error 4 error LNK2001: unresolved external symbol "public: virtual void __thiscall uzytkownik::graj(char (* const)[8])" (?graj@uzytkownik@@UAEXQAY07D@Z) C:\Users\Kamil\Documents\Visual Studio 2010\Projects\Projekt PO\Projekt PO\Main.obj Projekt PO
Error 5 error LNK1120: 4 unresolved externals C:\Users\Kamil\Documents\Visual Studio 2010\Projects\Projekt PO\Debug\Projekt PO.exe Projekt PO
Doszedłem do wniosku, że być może linkier nie może powiązać metody z jej definicją, ale nie wiem dlaczego.