[C++] error: no matching function for call to '...'
Ostatnio zmodyfikowano 2014-04-09 21:38
Awantura Temat założony przez niniejszego użytkownika |
[C++] error: no matching function for call to '...' » 2014-04-09 19:50:25 Hejka, napisałem prostą klasę, przy użyciu zaprzyjaźnionej funkcji, lecz bład kompilacji jest następujący: error: no matching function for call to 'towar::towar(const char [2])'| Poniżej kod: #include<iostream> #include <cstring>
using namespace std;
class towar { private: char * opis; float cena; int liczba; public: towar() { opis = ""; cena = 0.0; liczba = 0; } towar( towar & t ) { opis = t.opis; cena = t.cena; liczba = t.liczba; } ~towar() { delete[] opis; cout << "Destruktor" << endl; } friend ostream & operator <<( ostream & os, const towar & t ) { os << "Marka: " << t.opis << endl; os << "Numer silnika: " << t.cena << endl; os << "Przebieg: " << t.liczba << endl; } };
int main() { towar a( "a" ); return 0; }
|
|
DejaVu |
» 2014-04-09 19:53:08 Źle tworzysz obiekt - nie masz konstruktora, którego pierwszym argumentem byłby const char*. |
|
Awantura Temat założony przez niniejszego użytkownika |
» 2014-04-09 21:33:16 Git, poprawiłem, kompiluje się, ale nie wyświetla, tego co wprowadze w int main() { towar a( "ala", 2, 4.0 ); cout << a; return 0; }
A oto cały kod: #include<iostream> #include <cstring>
using namespace std;
class towar { private: char * opis; float cena; int liczba; public: towar( const char *, int, float ) { opis = ""; liczba = 0; cena = 0.0; } towar( towar & t ) { opis = t.opis; cena = t.cena; liczba = t.liczba; } ~towar() { delete[] opis; cout << "Destruktor" << endl; } friend ostream & operator <<( ostream & os, const towar & t ) { os << "Opis: " << t.opis << endl; os << "Cena: " << t.cena << endl; os << "Ilosc sztuk: " << t.liczba << endl; } };
int main() { towar a( "ala", 2, 4.0 ); cout << a; return 0; }
|
|
pekfos |
» 2014-04-09 21:35:41 Pewnie dlatego, że nigdzie nie używasz tych wartości.. |
|
Awantura Temat założony przez niniejszego użytkownika |
» 2014-04-09 21:36:40 Ale czy nie powinno ich wyświetlić ? |
|
pekfos |
» 2014-04-09 21:38:12 Niby dlaczego? Nigdzie nie używasz tych wartości.. |
|
DejaVu |
» 2014-04-09 21:38:50 Moim zdaniem powinieneś najpierw nauczyć się programowania strukturalnego - patrz: Funkcje - pierwsze starcie. pekfos napisał Ci co jest źle. |
|
« 1 » |