static klassen methoden



  • hallo!

    // breze.h
    class Breze
    {
    public:
        .....
        static void backen();
        .....
    };
    
    //main.cpp
    
    int main()
    {
        Breze::backen();
    }
    

    wieso kommt dann:
    learn1 error LNK2019: unresolved external symbol "public: static void __cdecl Breze::backen()" (?backen@Breze@@SAXMMMMM@Z) referenced in function "int __cdecl main(void)" (?main@@YAXXZ)

    danke für eure hilfe



  • wo ist die definition von backen() ?



  • in der datei breze.cpp

    static void Breze::backen()
    {
        std::cout << " backe..." << std::endl;
    }
    


  • Bei der Definition von statischen Elementen wird das "static" nicht wiederholt. Dasselbe gilt für virtual.



  • operator void schrieb:

    Bei der Definition von statischen Elementen wird das "static" nicht wiederholt. Dasselbe gilt für virtual.

    Die Mißachtung führt allerdings zu einem Compile-Zeit-Fehler. Da hier aber der Linker über ein "unresolved external symbol" jammert, gehe ich mal davon aus, dass der OP den static-Fehler extra fürs Forum eingebaut hat und im Originalcode alles seine Ordnung hat 🙂

    Wie auch immer. Linkst du denn auch schön das Ergebnis der Kompilation der Datei breze.cpp mit? Anders formuliert: ist die Datei breze.cpp Teil deines VC-Projekts?


Anmelden zum Antworten