wieso ist das so mit dem funktionsaufruf??
-
Kann mir bitte einer erklären warum ich in einem cpp file das den korrekten header includiert, angeben muß das der konstruktor CSocketClass() von der Klasse CSocketClass() kommt (durch den "::")
Normalerweise schaut der Kompiler doch in das .h file und findet dort die deklaration der funktion oder??Das File heißt SocketClass.cpp
//Dieser header wird includiert
#include "SocketClass.h"CSocketClass::CSocketClass()
{
......
}herzlichen dank schonmal
lg
l00P
-
weil es nicht besonders sinnvoll wäre, dafür eine Sonderregel einzuführen. Bei normalen Memberfunktionen würde das nämlich nicht funktionieren:
class Foo { void foo(); }; void foo() { ... } // normale globale Funktion, wenn man nicht Foo::foo schreibt
-
Ah ich verstehe demnach wären in meinem file
CSocketClass()
und
CSocketClass()::CSocketClass()zwei verschiedene funktionen, die eine member und die andere einfach nur global..
ist das so?
herzlichen dank an dich.
lg l00P
-
struct foo { foo(); }; foo() { }
ist in C++ sogar ein Fehler, in C (< C99) wär das gültig, wegen implizit int AFAIK (dann geht das aber mit den MemberFunktionen nicht mehr ;))