Klassenfunktion ohne Objekt aufrufen



  • Hallo zusammen,

    ich möchte eine Klassenfunktion ohne Objekt aufrufen. Diese Funktion soll ein beispielsweise ein Objekt einer anderen Klasse via [new] erstellen.

    Hier ein Beispiel:

    int main()
    {
        myClass::createObject();
    
        return 0;
    }
    
    class myClass
    {
        myClass();
        ~myClass();
    
        static void createObject();
    };
    
    void myClass::createObject()
    {
       int * pI = new int;
    }
    

    Das ist jetzt nur ein Beispiel und soll verdeutlichen was ich vorhabe.
    Beim Kompilieren erhalte ich immer einen Fehler.

    shorty@src: make
    g++ -g -Wall -Wextra -pedantic-errors -std=c++11 -I/home/shorty/OpenFOAM/development/flameletcreator/src/chemistry -o automaticFlameletCreator automaticFlameletCreator.cpp
    /tmp/ccFS1z4X.o: In function `main':
    /home/shorty/OpenFOAM/development/flameletcreator/src/automaticFlameletCreator.cpp:37: undefined reference to `AFC::Chemistry::createChemistryReader()'
    


  • Wenn Du zwei (oder mehr) *.cpp - Dateien hast, müssen die auch beide in der g++ ... - Zeile auftauchen.



  • Die gemeldete Funktion ist nicht definiert. Gegebenenfalls fehlt noch eine andere cpp.



  • manni66 schrieb:

    Die gemeldete Funktion ist nicht definiert. Gegebenenfalls fehlt noch eine andere cpp.

    Richtig ... ich dussel.
    Die zweite C++ hat gefeht (:

    Oh weh ... danke euch.


Log in to reply