PDA

View Full Version : Invalid use of member XXXXXXX in static member function ?



Terreox
22nd February 2012, 20:00
Hi there
i got some problem while programing. I created a new class called VehicleManager



class VehicleManager : public QDialog, public Ui::VehicleManager
{
public:
VehicleManager(QWidget *parent = 0);
static QList<Vehicle *> getVehicleList();
static void initVehicleList();
QList<Vehicle *> vehicleList;
};


and tried to define getVehicleList()



QList<Vehicle *> VehicleManager::getVehicleList()
{
return vehicleList;
}


Now if i run the program it says:


PATH\vehiclemanager.h:-1: In static member function 'static QList<Vehicle*> VehicleManager::getVehicleList()':
PATH\vehiclemanager.h:30: Error:invalid use of member 'VehicleManager::vehicleList' in static member function
PATH\vehiclemanager.cpp:12: Error:from this location

At Line 30 in vehiclemanager.cpp there is "QList<Vehicle *> vehicleList;"
At Line 12 in vehiclemanager.cpp there is "return vehicleList;"

I dont understand this error.

Can someone help me?
Thanks

Greetz

stampede
22nd February 2012, 20:47
static member functions (http://www.learncpp.com/cpp-tutorial/812-static-member-functions/)
static member variables (http://www.learncpp.com/cpp-tutorial/811-static-member-variables/)

Spitfire
23rd February 2012, 12:23
In a nutshell: static things can access only other static things.

In your case you have to define vehicleList as static or getVehicleList() as non-static.