Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
Cobs Forumaš(ica)
Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol:
Lokacija: Geto
|
Postano: 16:23 pon, 9. 3. 2009 Naslov: kompajliranje i linkanje |
|
|
imam nekakvih problema s ovim... prakticki sam sve ucinio kao sto pise u slide - ovima sa vjezbe...ali mi javlja greske?
imam prvi dio programa( sucelje ): ( tocka.h )
[code:1]typedef struct{
double x;
double y;
}tocka;
double udaljenost( tocka a, tocka b );
tocka cent_simetricna( tocka a );[/code:1]
i njega ne kompajliram kao sto pise na slide - ovima,
zatim imam implementaciju ( implementacija.cpp ):
[code:1]#include<iostream>
#include "tocka.h"
using namespace std;
double udaljenost( tocka a, tocka b ){
double duzina;
double p1 = b.x - a.x;
double p2 = b.y - a.y;
duzina = sqrt( p1*p1 + p2*p2 );
return duzina;
}
tocka cent_simetrija( tocka a ){
tocka b;
b.x = -a.x;
b.y = -a.y;
return b;
}[/code:1]
i kada to probam iskompajlirat u terminalu javlja mi gresku:
[code:1] g++ implementacija.cpp -c
implementacija.cpp: In function ‘double udaljenost(tocka, tocka)’:
implementacija.cpp:13: error: ‘sqrt’ was not declared in this scope
[/code:1]
, a kada pokusam iskompajlirati klijentski dio ( main.cpp ):
[code:1]#include<iostream>
#include "tocka.h"
using namespace std;
int main(){
tocka p;
tocka q;
tocka z;
tocka w;
cout << " Upisite koordinate prve tocke: \n x = ";
cin >> p.x;
cout << " y = ";
cin >> p.y;
cout << " Upisite koordinate druge tocke: \n x = ";
cin >> q.x;
cout << " y = ";
cin >> q.y;
z = cent_simetrija( p );
w = cent_simetrija( q );
cout << " Udaljenost izmedu te dvije tocke je " << udaljenost( tocka p, tocka q ) << endl;
cout << " Koordinate centralno simetricne tocke prvoj tocci su: \n x = " << z.x << "\n y = " << z.y << endl;
cout << " Koordinate centralno simetricne tocke drugoj tocci su: \n x = " << w.x << "\n y = " << w.y << endl;
return 0;
}[/code:1]
javlja mi gresku: [code:1]g++ main.cpp -c
main.cpp: In function ‘int main()’:
main.cpp:22: error: ‘cent_simetrija’ was not declared in this scope
main.cpp:25: error: expected primary-expression before ‘p’
main.cpp:25: error: expected primary-expression before ‘q’
[/code:1]
pa bi me zanimalo gdje sam pogrjesio i opcenito kako se to radi, te ako bi netko jos mogao objasniti kako to realizirati u devcpp -u
imam nekakvih problema s ovim... prakticki sam sve ucinio kao sto pise u slide - ovima sa vjezbe...ali mi javlja greske?
imam prvi dio programa( sucelje ): ( tocka.h )
Kod: | typedef struct{
double x;
double y;
}tocka;
double udaljenost( tocka a, tocka b );
tocka cent_simetricna( tocka a ); |
i njega ne kompajliram kao sto pise na slide - ovima,
zatim imam implementaciju ( implementacija.cpp ):
Kod: | #include<iostream>
#include "tocka.h"
using namespace std;
double udaljenost( tocka a, tocka b ){
double duzina;
double p1 = b.x - a.x;
double p2 = b.y - a.y;
duzina = sqrt( p1*p1 + p2*p2 );
return duzina;
}
tocka cent_simetrija( tocka a ){
tocka b;
b.x = -a.x;
b.y = -a.y;
return b;
} |
i kada to probam iskompajlirat u terminalu javlja mi gresku:
Kod: | g++ implementacija.cpp -c
implementacija.cpp: In function ‘double udaljenost(tocka, tocka)’:
implementacija.cpp:13: error: ‘sqrt’ was not declared in this scope
|
, a kada pokusam iskompajlirati klijentski dio ( main.cpp ):
Kod: | #include<iostream>
#include "tocka.h"
using namespace std;
int main(){
tocka p;
tocka q;
tocka z;
tocka w;
cout << " Upisite koordinate prve tocke: \n x = ";
cin >> p.x;
cout << " y = ";
cin >> p.y;
cout << " Upisite koordinate druge tocke: \n x = ";
cin >> q.x;
cout << " y = ";
cin >> q.y;
z = cent_simetrija( p );
w = cent_simetrija( q );
cout << " Udaljenost izmedu te dvije tocke je " << udaljenost( tocka p, tocka q ) << endl;
cout << " Koordinate centralno simetricne tocke prvoj tocci su: \n x = " << z.x << "\n y = " << z.y << endl;
cout << " Koordinate centralno simetricne tocke drugoj tocci su: \n x = " << w.x << "\n y = " << w.y << endl;
return 0;
} |
javlja mi gresku: Kod: | g++ main.cpp -c
main.cpp: In function ‘int main()’:
main.cpp:22: error: ‘cent_simetrija’ was not declared in this scope
main.cpp:25: error: expected primary-expression before ‘p’
main.cpp:25: error: expected primary-expression before ‘q’
|
pa bi me zanimalo gdje sam pogrjesio i opcenito kako se to radi, te ako bi netko jos mogao objasniti kako to realizirati u devcpp -u
|
|
[Vrh] |
|
m00nblade Forumaš(ica)
Pridružen/a: 30. 10. 2005. (13:26:10) Postovi: (54)16
Spol:
|
Postano: 16:42 pon, 9. 3. 2009 Naslov: |
|
|
1. u tocka.h ti je naveden prototip funkcije cent_simetricna, a u implementacija.cpp ti se funkcija zove cent_simetrija
2. u implementaciji ti treba biti
[code:1]#include <cmath>[/code:1]
da se moze koristiti funkcija sqrt
3. u C++ strukture deklariraj s:
[code:1]struct tocka {
double x;
double y;
};
[/code:1]
dakle, nemoj koristiti typedef kao u c-u. Ne javlja ti na tome gresku, ali se to u C++u uglavnom ne radi tako, bar koliko ja znam :)
da bi ovaj cijeli program mogao raditi u dev-cpp trebas napraviti novi projekt i onda u njega dodati sve .h i .cpp datoteke tog programa. U ovom slucaju bi to bile tocka.h, implementacija.cpp i main.cpp
Također, mali savjet ti je da sucelje i implementaciju nazoves isto, naravno s razlicitom ekstenzijom. Za ovo tvoje bi to bile tocka.h i tocka.cpp
1. u tocka.h ti je naveden prototip funkcije cent_simetricna, a u implementacija.cpp ti se funkcija zove cent_simetrija
2. u implementaciji ti treba biti
da se moze koristiti funkcija sqrt
3. u C++ strukture deklariraj s:
Kod: | struct tocka {
double x;
double y;
};
|
dakle, nemoj koristiti typedef kao u c-u. Ne javlja ti na tome gresku, ali se to u C++u uglavnom ne radi tako, bar koliko ja znam
da bi ovaj cijeli program mogao raditi u dev-cpp trebas napraviti novi projekt i onda u njega dodati sve .h i .cpp datoteke tog programa. U ovom slucaju bi to bile tocka.h, implementacija.cpp i main.cpp
Također, mali savjet ti je da sucelje i implementaciju nazoves isto, naravno s razlicitom ekstenzijom. Za ovo tvoje bi to bile tocka.h i tocka.cpp
_________________ Real programmers don't comment their code. If it was hard to write, it should be hard to read.
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
Postano: 16:42 pon, 9. 3. 2009 Naslov: |
|
|
Što se tiče prve greške, do nje je došlo jer nemaš
[code:1]#include<math.h>[/code:1]
ili
[code:1]#include<cmath>[/code:1], unutra je fja sqrt :)
Nadlje, u c++-u su strukture malo drugačije, naime nema typedef... trebalo bi ovako:
[code:1]struct tocka{
double x;
double y;
};
[/code:1]
ovo ostalo ne kužim zašto javlja... probaj u tocka.h dodat iostream i using namespace, to kad se ne stavi zna javjat gluposti...
btw zašto ne radiš odjednom linkanje i kompajliranje nego odvojeno?
a u devcpp-u trebaš napravit project pa sve skupa kompajlirat... dakle, ideš na new project, empty project, unutra staviš sve kaj ti treba i onda compile...
Što se tiče prve greške, do nje je došlo jer nemaš
ili
, unutra je fja sqrt
Nadlje, u c++-u su strukture malo drugačije, naime nema typedef... trebalo bi ovako:
Kod: | struct tocka{
double x;
double y;
};
|
ovo ostalo ne kužim zašto javlja... probaj u tocka.h dodat iostream i using namespace, to kad se ne stavi zna javjat gluposti...
btw zašto ne radiš odjednom linkanje i kompajliranje nego odvojeno?
a u devcpp-u trebaš napravit project pa sve skupa kompajlirat... dakle, ideš na new project, empty project, unutra staviš sve kaj ti treba i onda compile...
_________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy
|
|
[Vrh] |
|
Cobs Forumaš(ica)
Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol:
Lokacija: Geto
|
Postano: 17:09 pon, 9. 3. 2009 Naslov: |
|
|
ok ovo sam sve rijesio... ali mi u main funkciji jos uvijek javlja:
[code:1]
main.cpp:25: error: expected primary-expression before ‘p’
main.cpp:25: error: expected primary-expression before ‘q’
[/code:1]
e kad bi mi to radilo...
znaci u devcpp -u u biti sve zajedno iskompajliram, pa tu onda bas i nema te neke podjele barem ne " fizičke " kad sve u biti radim kao jedan program, ja sam mislio da bi se to moglo nekak isto tak povezat, da u biti sam iskompajliram main, a da ovaj zove ili " ukljuci " one dijelove programa koji mu trebaju... hvala
Naravno, ak neko zna zasto mi javlja tu gresku nek se javi
ok ovo sam sve rijesio... ali mi u main funkciji jos uvijek javlja:
Kod: |
main.cpp:25: error: expected primary-expression before ‘p’
main.cpp:25: error: expected primary-expression before ‘q’
|
e kad bi mi to radilo...
znaci u devcpp -u u biti sve zajedno iskompajliram, pa tu onda bas i nema te neke podjele barem ne " fizičke " kad sve u biti radim kao jedan program, ja sam mislio da bi se to moglo nekak isto tak povezat, da u biti sam iskompajliram main, a da ovaj zove ili " ukljuci " one dijelove programa koji mu trebaju... hvala
Naravno, ak neko zna zasto mi javlja tu gresku nek se javi
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
Postano: 17:28 pon, 9. 3. 2009 Naslov: |
|
|
Trebaš pozvati udaljenost (p,q), bez ovog točka... zna fja koja joj varijabla dolazi ;)
A i u devcppu ustvari radi ko i u terminalu, samo devcpp radi linkanje i komapjliranje skupa, a ti to fizički možeš odijelit u terminalu, makar ja to nikad nisam radio... zašto pisat 3 linije kad možeš jednu 8)
Trebaš pozvati udaljenost (p,q), bez ovog točka... zna fja koja joj varijabla dolazi
A i u devcppu ustvari radi ko i u terminalu, samo devcpp radi linkanje i komapjliranje skupa, a ti to fizički možeš odijelit u terminalu, makar ja to nikad nisam radio... zašto pisat 3 linije kad možeš jednu
_________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy
|
|
[Vrh] |
|
Cobs Forumaš(ica)
Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol:
Lokacija: Geto
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
|
[Vrh] |
|
finalni Forumaš(ica)
Pridružen/a: 04. 08. 2007. (11:48:53) Postovi: (10D)16
Spol:
Lokacija: Bloodbuzz Zagreb
|
|
[Vrh] |
|
Mad Wilson Forumaš(ica)
Pridružen/a: 29. 05. 2006. (22:51:14) Postovi: (121)16
|
|
[Vrh] |
|
Cobs Forumaš(ica)
Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16
Spol:
Lokacija: Geto
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
Postano: 22:05 pet, 13. 3. 2009 Naslov: |
|
|
[quote="Anonymous"]Napravio sam implementaciju strukture tocka i uredno radi, sve ok. Ali imam problema sa tim konstruktorima/destruktorima. Kada ih dodam u implementaciju kompajler javlja greške tipa "no matching function to call...". Jel može netko objasniti kako to treba napraviti i reći nešto malo više općenito o konstruktorima/destruktorima...?[/quote]
[code:1]
struct tocka
{
int x,y;
tocka(int a, int b) //konstruktor
{
x=a;
y=b;
}
~tocka() //destruktor
{
cout << "Unistila se: "<<"("<<x<<", "<<y<<")"<<endl;
}
};
[/code:1]
Evo koda za strukturu tocka sa konstruktorom i destruktorom...
glavne stvari oko konstruktora:
1. pozivaju se kod deklariranja varijable, recimo kod:
[tt]tocka A(2,4);[/tt]
2. mogu, ali i ne moraju imati parametre (u gornjem slučaju paramtri su 2 i 4).
3. Može postojati više konstruktora za istu strukturu, pogledaj recimo string... možeš ga pozvati sa:
[tt]string s="ANSCF"[/tt] što je isto kao s("ANSCF")
[tt]string s=('A',5)[/tt] - to će dat "AAAAA"
i sl.
(napomena: kad postoji više konstruktora koji su "slični" može doći do tog da se compiler buni... al zasad nema takvih primjera pa bolje da ne kompliciram)
4. konstruktor nema povratni tip (tj ne piše se).
destruktori su uglavnom ne baš previše korisne stvari, osim kad ima nešto dinamički alocirano... onda je korisno u destruktor staviti neki free.. ima slična svojstva kao konstruktor.
Nadam se da pomaže :D
Anonymous (napisa): | Napravio sam implementaciju strukture tocka i uredno radi, sve ok. Ali imam problema sa tim konstruktorima/destruktorima. Kada ih dodam u implementaciju kompajler javlja greške tipa "no matching function to call...". Jel može netko objasniti kako to treba napraviti i reći nešto malo više općenito o konstruktorima/destruktorima...? |
Kod: |
struct tocka
{
int x,y;
tocka(int a, int b) //konstruktor
{
x=a;
y=b;
}
~tocka() //destruktor
{
cout << "Unistila se: "<<"("<<x<<", "<<y<<")"<<endl;
}
};
|
Evo koda za strukturu tocka sa konstruktorom i destruktorom...
glavne stvari oko konstruktora:
1. pozivaju se kod deklariranja varijable, recimo kod:
tocka A(2,4);
2. mogu, ali i ne moraju imati parametre (u gornjem slučaju paramtri su 2 i 4).
3. Može postojati više konstruktora za istu strukturu, pogledaj recimo string... možeš ga pozvati sa:
string s="ANSCF" što je isto kao s("ANSCF")
string s=('A',5) - to će dat "AAAAA"
i sl.
(napomena: kad postoji više konstruktora koji su "slični" može doći do tog da se compiler buni... al zasad nema takvih primjera pa bolje da ne kompliciram)
4. konstruktor nema povratni tip (tj ne piše se).
destruktori su uglavnom ne baš previše korisne stvari, osim kad ima nešto dinamički alocirano... onda je korisno u destruktor staviti neki free.. ima slična svojstva kao konstruktor.
Nadam se da pomaže
_________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy
|
|
[Vrh] |
|
Gost
|
Postano: 23:20 pet, 13. 3. 2009 Naslov: |
|
|
Tako sam i napravio ali ne radi...
1. tocka.h :
struct tocka {
int x, y;
tocka(int a, int b);
~tocka();
void ispisiTocku();
void unesiTocku();
tocka simetricnaTocka();
float udaljenost( tocka Q );
};
2. tocka.cpp :
#include <iostream>
#include "tocka.h"
#include <cmath>
using namespace std;
tocka::tocka(int a, int b) {
x=a;
y=b;
}
tocka::~tocka() {
cout << "Unistila se: "<<"("<<x<<", "<<y<<")"<<endl;
}
void tocka::ispisiTocku(void){
cout << "(" << x << ", " << y << ")\n";
}
void tocka::unesiTocku(void){
cout <<" 1. koordinata: \n x= " ;
cin >> x;
cout <<"2. koordinata: \n y= ";
cin >> y;
}
tocka tocka::simetricnaTocka(){
tocka A;
A.x=-x;
A.y=-y;
return A;
}
float tocka::udaljenost( tocka Q ){
float duzina;
float p1 = x - Q.x;
float p2 = y - Q.y;
duzina = sqrt( p1*p1 + p2*p2 );
return duzina;
}
3. main (onaj s vjezbi):
#include <iostream>
#include "tocka.h"
using namespace std;
int main(){
tocka P = {10, 20}, Q, *T = &P;
Q.x = 10;
Q.y = 30;
P.ispisiTocku();
T->x=15;
T->ispisiTocku();
Q.ispisiTocku();
cout << P.udaljenost( Q );
tocka R = T->simetricnaTocka();
cout << "\n(" << R.x << ", " << R.y << ")\n";
return 0;
}
i sad, sve to bez konstruktora i destruktora radi, ali kada s njima kompajliram onda javlja grešku
"In member function `tocka tocka::simetricnaTocka()':
no matching function for call to `tocka::tocka()'
candidates are: tocka::tocka(const tocka&)
tocka::tocka(int, int) "....
Tako sam i napravio ali ne radi...
1. tocka.h :
struct tocka {
int x, y;
tocka(int a, int b);
~tocka();
void ispisiTocku();
void unesiTocku();
tocka simetricnaTocka();
float udaljenost( tocka Q );
};
2. tocka.cpp :
#include <iostream>
#include "tocka.h"
#include <cmath>
using namespace std;
tocka::tocka(int a, int b) {
x=a;
y=b;
}
tocka::~tocka() {
cout << "Unistila se: "<<"("<<x<<", "<<y<<")"<<endl;
}
void tocka::ispisiTocku(void){
cout << "(" << x << ", " << y << ")\n";
}
void tocka::unesiTocku(void){
cout <<" 1. koordinata: \n x= " ;
cin >> x;
cout <<"2. koordinata: \n y= ";
cin >> y;
}
tocka tocka::simetricnaTocka(){
tocka A;
A.x=-x;
A.y=-y;
return A;
}
float tocka::udaljenost( tocka Q ){
float duzina;
float p1 = x - Q.x;
float p2 = y - Q.y;
duzina = sqrt( p1*p1 + p2*p2 );
return duzina;
}
3. main (onaj s vjezbi):
#include <iostream>
#include "tocka.h"
using namespace std;
int main(){
tocka P = {10, 20}, Q, *T = &P;
Q.x = 10;
Q.y = 30;
P.ispisiTocku();
T->x=15;
T->ispisiTocku();
Q.ispisiTocku();
cout << P.udaljenost( Q );
tocka R = T->simetricnaTocka();
cout << "\n(" << R.x << ", " << R.y << ")\n";
return 0;
}
i sad, sve to bez konstruktora i destruktora radi, ali kada s njima kompajliram onda javlja grešku
"In member function `tocka tocka::simetricnaTocka()':
no matching function for call to `tocka::tocka()'
candidates are: tocka::tocka(const tocka&)
tocka::tocka(int, int) "....
|
|
[Vrh] |
|
pero Forumaš(ica)
Pridružen/a: 02. 02. 2005. (17:13:37) Postovi: (81)16
Spol:
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
|
[Vrh] |
|
pero Forumaš(ica)
Pridružen/a: 02. 02. 2005. (17:13:37) Postovi: (81)16
Spol:
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
Postano: 0:26 sub, 14. 3. 2009 Naslov: |
|
|
[quote="pero"]i ovo [tt]tocka P = {10, 20}[/tt] mi izgleda čudno.
Možda je ok, ali ja bih radije stavio [tt]tocka P(10, 20)[/tt][/quote]
Da, i meni, piknulo me u oko odmah... al nisam niš komentiro jer valjda sam zaboravio kao nešto... a pošto nas je dvojicu piknulo, najvjerojatnije je krivo :D
e da, nije greška nikakva programerska, ali kad tražiš udaljenosti između točaka, to je DULJINA, a ne DUŽINA. ;)
pero (napisa): | i ovo tocka P = {10, 20} mi izgleda čudno.
Možda je ok, ali ja bih radije stavio tocka P(10, 20) |
Da, i meni, piknulo me u oko odmah... al nisam niš komentiro jer valjda sam zaboravio kao nešto... a pošto nas je dvojicu piknulo, najvjerojatnije je krivo
e da, nije greška nikakva programerska, ali kad tražiš udaljenosti između točaka, to je DULJINA, a ne DUŽINA.
_________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
Mad Wilson Forumaš(ica)
Pridružen/a: 29. 05. 2006. (22:51:14) Postovi: (121)16
|
Postano: 16:53 sub, 14. 3. 2009 Naslov: |
|
|
[quote="pero"]i ovo [tt]tocka P = {10, 20}[/tt] mi izgleda čudno.
Možda je ok, ali ja bih radije stavio [tt]tocka P(10, 20)[/tt][/quote]
[tt]{10,20}[/tt] je lista objekata; to se moze koristiti u mnogim situacijama:
[code:1]int a[5] = { 1, 2, 3, 4, 5};
enum { ja, ti, mi};
typedef struct { int a; double f; } myS;
myS s = { 5, 2.3 };
[/code:1]
A kako [tt]tocka[/tt] nema konstruktor koji radi s necim takvim, navedeni izraz je besmislen.
pero (napisa): | i ovo tocka P = {10, 20} mi izgleda čudno.
Možda je ok, ali ja bih radije stavio tocka P(10, 20) |
{10,20} je lista objekata; to se moze koristiti u mnogim situacijama:
Kod: | int a[5] = { 1, 2, 3, 4, 5};
enum { ja, ti, mi};
typedef struct { int a; double f; } myS;
myS s = { 5, 2.3 };
|
A kako tocka nema konstruktor koji radi s necim takvim, navedeni izraz je besmislen.
|
|
[Vrh] |
|
pero Forumaš(ica)
Pridružen/a: 02. 02. 2005. (17:13:37) Postovi: (81)16
Spol:
|
Postano: 17:30 sub, 14. 3. 2009 Naslov: |
|
|
hm, i kak onda izgleda takav konstruktor za gornji primjer.
Mogu dobit da radi [tt]tocka P = {1, 2}[/tt], ako maknem gornji konstruktor,
ali mi onda ne radi [tt]tocka P(1,2)[/tt]. Dobim grešku kod kompajliranja:
[code:1]
$ g++ tocka.cpp main.cpp -o tocka
main.cpp: In function ‘int main()’:
main.cpp:7: error: no matching function for call to ‘tocka::tocka(int, int)’
tocka.h:1: note: candidates are: tocka::tocka()
tocka.h:1: note: tocka::tocka(const tocka&)
[/code:1]
Da li je moguće imat takva dva konstruktora da radi i jedno i drugo?
hm, i kak onda izgleda takav konstruktor za gornji primjer.
Mogu dobit da radi tocka P = {1, 2}, ako maknem gornji konstruktor,
ali mi onda ne radi tocka P(1,2). Dobim grešku kod kompajliranja:
Kod: |
$ g++ tocka.cpp main.cpp -o tocka
main.cpp: In function ‘int main()’:
main.cpp:7: error: no matching function for call to ‘tocka::tocka(int, int)’
tocka.h:1: note: candidates are: tocka::tocka()
tocka.h:1: note: tocka::tocka(const tocka&)
|
Da li je moguće imat takva dva konstruktora da radi i jedno i drugo?
|
|
[Vrh] |
|
|