QSet<typ*> als Funktionsparameter !?
Verfasst: 20. November 2010 14:36
Hallo zusammen,
ich stehe vor einem etwas komischen Problem...
Ich habe ein QSet mit QGraphicsItem-Pointern.
Das bekomme ich aus einer Klasse so :
Die Methode getSceneItems ist wie folgt realisiert :
Dann kann ich wunderbar mit dem Set arbeiten z.B. mit foreach drüber iterieren ala:
Jetzt möchte ich diese Funktionalität aber in eine weitere Klasse auslagern, deren einer Methode genau dieses Set nun übergeben bekommt, um dann halt eigentlich genau das selbe damit zu tun (über jedes Item iterieren)..
Mein Aufruf dieser Methode wäre dann so:
Das geht aber leider nicht, und ich kapiere NULL warum....
Beim Compilen gibts folgende Fehler (Zeilennummern siehe oben):
Ich weiss überhaupt nicht was ich machen soll
Hoffe jemand hat eine Idee
Danke und Gruß
Chris
ich stehe vor einem etwas komischen Problem...
Ich habe ein QSet mit QGraphicsItem-Pointern.
Das bekomme ich aus einer Klasse so :
Code: Alles auswählen
QSet<QGraphicsItem*> set = Klasse::getSceneItems();
Code: Alles auswählen
// Prototyp
QSet<QGraphicsItem*> getSceneItems();
.
.
// Implementierung
QSet<QGraphicsItem*> Klasse::getSceneItems()
{
return itemSet; // in itemSet werden die itemPointer immer reingehangen.
}
Code: Alles auswählen
QGraphicsItem* item;
foreach(item, set)
{
...// do some with each item.
}
Code: Alles auswählen
Zeile#
21 QString Parser::parseGraphicsViewToString(QSet<QGraphicsItem*>items)
{
.
.
32 QGraphicsItem* item;
foreach(item, items)
{
...
}
}
Code: Alles auswählen
QSet<QGraphicsItem*> set = Klasse::getSceneItems();
QString string = parser->parseGraphicsViewToString(set);
Beim Compilen gibts folgende Fehler (Zeilennummern siehe oben):
..\SingletonParser.cpp: In member function 'QString SingletonParser::parseGraphicsViewToString(QSet<QGraphicsItem*>)':
..\SingletonParser.cpp:21: error: 'items' has incomplete type
d:\Programme\Development\QT\qt\include/QtCore/../../src/corelib/tools/qlist.h:65: error: declaration of 'struct QSet<QGraphicsItem*>'
..\SingletonParser.cpp:32: error: template argument 1 is invalid
..\SingletonParser.cpp:32: error: invalid type in declaration before '(' token
..\SingletonParser.cpp:32: error: request for member 'brk' in '_container_', which is of non-class type 'int'
..\SingletonParser.cpp:32: error: request for member 'i' in '_container_', which is of non-class type 'int'
..\SingletonParser.cpp:32: error: request for member 'e' in '_container_', which is of non-class type 'int'
..\SingletonParser.cpp:32: error: request for member 'brk' in '_container_', which is of non-class type 'int'
..\SingletonParser.cpp:32: error: request for member 'i' in '_container_', which is of non-class type 'int'
..\SingletonParser.cpp:32: error: request for member 'i' in '_container_', which is of non-class type 'int'
..\SingletonParser.cpp:32: error: request for member 'brk' in '_container_', which is of non-class type 'int'
Ich weiss überhaupt nicht was ich machen soll
Hoffe jemand hat eine Idee
Danke und Gruß
Chris
