Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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????

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?

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.

Moin,

ja ich weiß der Funktionsaufruf ohne void einfach nur test;

Müsste die aufgerufene Funktion nicht connect statt functionconnect heißen? :P

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.

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.