Problem: Header wird nicht "gefunden"

04/02/2016 18:34 GOLD°#1
Hey Leute,

ich versuche gerade eine simple Klasse in den dazugehörigen Files unterzubringen, aber beim Kompilieren bekomme ich die Fehlermeldung:
undefined reference to 'Cat::laute()'

mein main Code

Code:
#include<iostream>
#include"C:\Users\Acar\Desktop\C++ Daten\EmptyWindow\cat.h"

int main()

{
    Cat Friskey;
    Friskey.laute();

 return 0;
}
mein cat.cpp
Code:
#include<iostream>
#include "C:\Users\Acar\Desktop\C++ Daten\EmptyWindow\cat.h"
Cat::Cat()
{

}

void laute()
{
 std::cout <<"miau";
}
meine header

Code:
#ifndef CAT_H
#define CAT_H


class Cat
{
public:
    Cat();
    void laute();
};

#endif // CAT_H

Das Problem verschwindet wenn ich die Funktion laute auskommentiere :S
was mache ich falsch?
04/02/2016 18:44 th0rex#2
Wenn du nur
Code:
void laute() {

}
in deiner Cpp Datei hast, ist das die Definition für eine Funktion, die nicht Teil einer Klasse ist.

Wenn du die Funktion als Funktion einer Klasse definiern willst, muss auch ein
Code:
Klassenname::
davor.
Das heißt, wenn du die Definition zu
Code:
void Cat::laute() {
// Code
}
änderst in der Cpp Datei, dann funktioniert das.
04/02/2016 18:47 GOLD°#3
Oh man du bist die Rettung :D Danke dir!!

hatte ich total verpeilt :D :D