Vom Header Funktionen in CPP möglich?
-
hi,
ist es möglich eigentlich in einen header als bsp.
#ifndef xxx_xx #define xxx_xx float aim_Func(float a, float b) { float xxx = (a - b)*2/2*2/2*2; return xxx; } #endifund in der CPP datei einfach soetwas zu machen oder muss ich es wieder so im oberen bereich einer cpp
float aim_Func(float a, float b) { float xxx = (a - b)*2/2*2/2*2; return xxx; }schreiben?
thx im voraus

-
das wäre sinnlos, wozu willst du Funktion 2mal eintippen?
außerdem:
wenn du das machst wird dein Compiler spätestens dann meckern, dass die Funktion mehrmals definiert wurde, wenn dein Projekt meherer Dateien enthält, die diese Funktion nutzen.
also schreib in die Header nur die Deklaration:// Deklaration in der Datei foo.h #ifndef Header_h #define Header_h int something_i_dont_know(int param); #endifDann implementierst du die Funktion in ner Datei:
// foo.cpp int something_i_dont_know(int param) { return (param / 2); }und wenn du die Funktion nutzen willst musst du nur
#include "foo.h"schreiben.
-
Und wenn du die Funktion wirklich direkt im Header unterbringen willst, setz' wenigstens ein 'inline' davor. (selbst wenn der Compiler sich dagegen ausspricht, sie tatsächlich inline zu expandieren, sollte er dem Linker eine Notiz hinterlassen, daß sie inline sein sollte)