... Nicht-Klassentyp »USB::Busses*« ist



  • Kann mir jemand verraten wieso der Compiler hier meckert?

    #include <iostream>
    #include <iomanip>
    #include <usbpp.h>
    
    using namespace std;
    
    int main(void)
    {
    
        USB::Busses *buslist;
        USB::Device *device;
        list<USB::Device *> hubList;
        list<USB::Device *>::const_iterator iter;
    
        cout << "Class/SubClass/Protocol" << endl;
    
    // hier ist der Fehler
        hubList = buslist.match(0x9);
    
        for (iter = hubList.begin(); iter != hubList.end(); iter++) {
            device = *iter;
            cout << hex << setw(2) << setfill('0')
                 << int(device->devClass()) << "      " 
                 << hex << setw(2) << setfill('0')
                 << int(device->devSubClass()) << "      "
                 << hex << setw(2) << setfill('0')
                 << int(device->devProtocol()) << endl;
        }
    
        return 0;
    }
    
    std::list<Device *> match(u_int8_t Class);
    
    Fehler: Abfrage des Elementes »match« in »buslist«, das vom Nicht-Klassentyp »USB::Busses*« ist
    

    Ohman ich glaub ich lass besser die Finger von C++.



  • steht doch da... USB::Busses***** ist ein Pointer und keine Klasse!



  • busList->match(0x9);
    

    Bei Pointern brauchst du für Member den indirekten Zugriffsoperator "->" ...
    der entspricht übrigens (*PTR).MEMBER


Anmelden zum Antworten