wulfgang Geschrieben 28. Januar 2009 Teilen Geschrieben 28. Januar 2009 Hallo, ich wollte ein größeres Projekt schreiben. Dazu wollte ich einzelne Funktionen auf einzelne Dateien auslagern. Ich benutze Visual Studio 2005. In meiner main cpp Datei steht: // automatic_transfer.cpp : Defines the entry point for the console application. // #include <functionconnect.cpp> #include "stdafx.h" #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { cout << "Hallo \n"; void functionconnect(void); int warte; cin >> warte; return 0; } Dann habe ich im selben Ordner eine cpp Datei: #include "stdafx.h" #include "stdafx.h" #include <iostream> using namespace std; void connect(void) { int warte; cout << "Test okay"; cin >> warte; } Warum wird meine Funktion in main nicht ausgeführt. Ist doch mit #include <functionconnect.cpp> implementiert???? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. Januar 2009 Teilen Geschrieben 28. Januar 2009 Erstens ist bindet man (mit einer Ausnahme) Sourcedateien nicht mit Include ein. Und zweitens rufst du deine Funktion nicht auf. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wulfgang Geschrieben 28. Januar 2009 Autor Teilen Geschrieben 28. Januar 2009 Moin, Und zweitens rufst du deine Funktion nicht auf. ja ich weiß der Funktionsaufruf ohne void einfach nur test; Erstens ist bindet man (mit einer Ausnahme) Sourcedateien nicht mit Include ein. Ja normalerweise über Headerdateien. Aber dann habe ich ja noch mehr Dateien- dachte wegen Übersicht Gibt es keine Möglichkleit cpp direkt einzubinden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. Januar 2009 Teilen Geschrieben 28. Januar 2009 Gibt es keine Möglichkleit cpp direkt einzubinden?Es geht nicht darum, ob das möglich ist. Dass es möglich ist, siehst du ja an deinem Programm. Es geht darum, ob das sinnvoll ist. Bei 2 Dateien mag es noch möglich sein, den Überblick zu behalten, aber bei mehreren Dateien wird das sehr kompliziert und fehleranfällig. Du musst nämlich sicherstellen, dass die Abhängigkeiten der Dateien einen gerichteten Baum darstellen. Sobald du gegenseitige oder zyklische Abhängigkeiten hast, funktioniert das nicht mehr. Außerdem werden dadurch alle deine Source-Dateien praktisch zu einer einzigen, großen Datei zusammengepackt, die dann auf einmal kompiliert wird. Wenn du also nur eine einzige Datei änderst, muss alles neu kompiliert werden. Wenn dich das nicht überzeugt, dann glaub mir einfach, dass es keine gute Idee ist. Gewöhn es dir ab, bevor es zum Problem wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 28. Januar 2009 Teilen Geschrieben 28. Januar 2009 Moin, ja ich weiß der Funktionsaufruf ohne void einfach nur test; Müsste die aufgerufene Funktion nicht connect statt functionconnect heißen? Ja normalerweise über Headerdateien. Aber dann habe ich ja noch mehr Dateien- dachte wegen Übersicht Gibt es keine Möglichkleit cpp direkt einzubinden? Deklariere doch die Funktionen in der Headerdatei nur und implementier sie in der cpp. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 28. Januar 2009 Teilen Geschrieben 28. Januar 2009 Ja normalerweise über Headerdateien. Aber dann habe ich ja noch mehr Dateien- dachte wegen Übersicht Gibt es keine Möglichkleit cpp direkt einzubinden? also ich nutze auch die Möglichkeit von Verzeichnissen in meinem Projekten. z.B. Raytracer Math Matrix.hpp MatrixImplementation.hpp Vector.hpp VectorImplementation.hpp Function3D.h Function3D.cpp GUI ..... Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.