Linker-Error bei Header-File mit Klasse



  • Hallo zusammen,
    das Prinzip von Header-Dateien denke verstehe ich, trotzdem erhalte ich immer folgenden Fehler:

    main.cpp:(.text+0x9c): undefined reference to `Katze::Katze(int)'
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Wäre sehr dankbar, wenn mir hier jemand weiterhelfen könnte...

    main.cpp

    #include<iostream>
    #include"katze.h"
    
    int main() {
    	Katze k (15);
    
    	k.print();
    	
    	return 0;
    }
    

    katze.cpp

    #include"katze.h"
    #include<iostream>
    
    void Katze::print() {
    	std::cout << alter << '\n';
    }
    

    katze.h

    #ifndef KATZE_H
    #define KATZE_H
    
    class Katze {
    public:
    	int alter {0};
    	
    	Katze (int alter);
    
    	void print();
    };
    
    #endif
    


  • Wo hast du denn den Konstruktor Katze (int alter) definiert? Der entsteht nicht magisch, sondern den mußt du selber programmieren.



  • Und wo ist der Konstruktor definiert?



  • @Th69 Danke für den Hinweis, jetzt funktionierts!


Log in to reply