Mam taki o to program przepisany z książki domyślam się, że nie działa iż był pisany pod inny kompilator mi musi działać w dev c++.
Poniżej dodaje kod programu
#include <iostream>
using namespace std;
class demo
{
int x,y;
public:
//konstruktor 1 z 0, 1 lub 2 argumentami
demo (int xx=1, int yy=0)
{
x = xx; y = yy;
cout << "Konstruktor 1 : " << x << " "
<< y << "\n";
}
demo(demo&); //konstruktor 2
~demo(); //destruktor
};
demo::demo (demo & d)
{
cout << "Konstruktor 2 (kopiujacy): " << d.x << " "
<< d.y << "\n";
x = d.x; y = d.y;
}
demo::~demo()
{
cout << "Destruktor : " << x << " " << y << "\n";
}
main()
{
void fun (demo, demo *); //prototyp funkcji niezaleznej
cout << "Poczatek main\n";
demo a;
demo b = 2; //błąd
demo c = a;
demo * adr = new demo (3, 3);
fun (a, adr);
demo d = demo (4, 4); //błąd
c = demo (5, 5); //błąd
cout << "Koniec main\n";
system("PAUSE");
}
void fun (demo d, demo * add)
{
cout << "Wejscie do fun\n";
delete add;
cout << "Wyjscie z fun\n";
}
Błędy wyskakują na tych 3 linijkach które oznaczyłem przez komentarz. A o to co mówi kompilator:
42 C:\Users\macbook\Desktop\Programowanie\Zadanie.cpp no matching function for call to demo::demo(demo)' C:\Users\macbook\Desktop\Programowanie\Zadanie.cpp:25 candidates are: demo::demo(demo&) C:\Users\macbook\Desktop\Programowanie\Zadanie.cpp:25 demo::demo(int, int) 42 C:\Users\macbook\Desktop\Programowanie\Zadanie.cpp initializing temporary from result of
demo::demo(int, int)'
Nie wiem jak to zmienić żeby zadziałało.
Tak przy okazji jeszcze w innym programie przy probie kompilacji wyskakuje taki 1 błąd w definicji (Program sklada sie z 3 plikow klasa.h, definicja.cpp i main.cpp). Zalozeniem programu jest podanie przez uzytkownika 20 liczb i sprawdzenie ile wśród tych 20 podanych jest liczb różnych.
int set_int::nalezy (int n)
{
int i;
//sprawdza czy n nalezy juz do zbioru
//jezeli tak to za petla i bedzie rowne lb_elem
while ( (i<lb_elem) && (adtabw[i] 1=n) ) i++; //błąd
return (i<lb_elem);
}
Błąd wyskakuje na zaznaczonej linijce //błąd
O to co pokazuje kompilator:
definicja.cpp In member function int set_int::nalezy(int)': definicja.cpp expected
)' before numeric constant
definicja.cpp expected `)' before ';' token
chyba coś nie tak z tym 1=n. Nie wiem jak to inaczej zapisać żeby zadziałało.
Pozdrawiam i proszę o pomoc.