Hallo,
ich programmiere gerade C++ unter QT und habe ein Problem damit ein
Objekt (einer eigenen Klasse) zurückzugeben.
Ich möchte später die Statische Methode accquireTemperature
folgendermaßen aufrufen können:
1 | Message xyz123 = Message::accquireTemperature(123);
|
Doch der Compiler (gcc, QT 4.7.3 unter Linux) meckert beim returnwert
der Methode dass er den Copyconstructor (?) nicht findet, obwohl ich
diesen implementiert habe:
no matching function for call to 'Message::Message(Message&)'
Was habe ich hier falsch gemacht?
Danke!!
1 | class Message {
|
2 | public:
|
3 | explicit Message(const Message & cpy);
|
4 | explicit Message(Message & cpy);
|
5 | explicit Message(quint32 mac);
|
6 | virtual ~Message();
|
7 | public:
|
8 | static Message accquireTemperature(quint32 mac);
|
9 | public:
|
10 | QByteArray message;
|
11 | };
|
1 | Message::Message(const Message & cpy) {
|
2 | message = cpy.message;
|
3 | }
|
4 |
|
5 | Message::Message(Message & cpy) {
|
6 | message = cpy.message;
|
7 | }
|
8 |
|
9 | Message::Message(quint32 mac) {
|
10 | // .....
|
11 | }
|
12 | Message Message::accquireTemperature(quint32 mac) {
|
13 | Message a(mac);
|
14 | return(a);
|
15 | }
|