Ich hätte gerne ein Objekt, HIDDevice
, das eine statische std::map
von sich behauptet. die Klasse unterhalb Ergebnisse in Kompilierungsfehlern Wenn jedoch die Konstruktoren und Destruktoren sind privat gemacht, wie unten dargestellt:Objekt mit privatem Konstruktor und einem statischen Container (Map) von sich selbst?
class HIDDevice
{
public:
static HIDDevice* getDevice(unsigned short vendorID, unsigned short productID);
int writeData(const unsigned char *data, int length);
int readData(unsigned char *data, int length);
private:
static std::map<std::string, HIDDevice> m_hidDevices;
static bool isInitialized;
static void initHIDAPI();
HIDDevice(){};
HIDDevice(unsigned short vendorID, unsigned short productID, std::string serialNumber = "");
HIDDevice(std::string path);
~HIDDevice();
};
EDIT
Fehlermeldungen sind wie folgt:
error C2248: 'HIDDevice::HIDDevice' : cannot access private member declared in class 'HIDDevice'
Was sind Fehler? – P0W
Sie müssen ein [mcve] posten. Obwohl Ihr Fehler offensichtlich und ziemlich häufig ist, kann er ohne [mcve] nicht bestätigt werden. –
Bitte überprüfen Sie diese [URL] (http://StackOverflow.com/Help) es wird nützlich sein, Ihre Content-Qualität –