Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

gamer1115

Frischling

  • »gamer1115« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Nähe Bremen

Beruf: Schüler Gymnasium 8. Klasse

  • Private Nachricht senden

1

05.07.2010, 12:03

main-Funktion

Ich habe gerade angefangen mit dem Buch "C++ für Spieleprogrammierer" die Sprache etwas zu erlernen.
Ich habe hier ein Problem mit der main-Funktion. Ich habe in einer Projektmappe mehrere Elemente, in denen ich die Main Funktion benutze. Bei Listing_1.1 hat dass noch Gut geklappt. erst bei Listing_2.1 trat dann dieses Problem auf:


1>------ Erstellen gestartet: Projekt: Listing_1, Konfiguration: Debug Win32 ------
1>Verknüpfen...
1>Listing__2.1.obj : error LNK2005: _main ist bereits in Listing_1.obj definiert.
1>C:\Dokumente und Einstellungen\*****\Eigene Dateien\Visual Studio 2008\Projects\Listing_1\Debug\Listing_1.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\*****\Eigene Dateien\Visual Studio 2008\Projects\Listing_1\Debug\BuildLog.htm" gespeichert.
1>Listing_1 - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Ich könnte Natürlich jetzt immer dass vorhergegangene Element Löschen, aber dass wird auf Dauer zu aufwändig.
Ausserdem kann ich das Symbol "}" nicht in Visual C++ Express Edition benutzen.Um es zu benutzen, muss ich es mit kopieren und einfügen von woanders holen!
Wäre Nett wenn ihr mir helft!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »gamer1115« (05.07.2010, 12:13)


the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

2

05.07.2010, 12:13

Ich habe in einer Projektmappe mehrere Elemente, in denen ich die Main Funktion benutze.


Das klingt für mich so, als hättest du da etwas falsch verstanden...
Ambesten postest du deine Quelltexte. Benutze dafür z.B. pastebin.com.
<< an dieser Stelle ist eine Signatur verstorben >>

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

3

05.07.2010, 12:18

erstell fürs neue listing am besten ein neues projekt oder überschreib den alten quelltext. am anfang ists sowieso nur eine cpp datei und du wirst sehr selten ein listing zurück gehen.

Ausserdem kann ich das Symbol "}" nicht in Visual C++ Express Edition benutzen.Um es zu benutzen, muss ich es mit kopieren und einfügen von woanders holen!
Wäre Nett wenn ihr mir helft!


alt gr+0 ;)

achja den quelltext brauchen wir net ^^
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

gamer1115

Frischling

  • »gamer1115« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Nähe Bremen

Beruf: Schüler Gymnasium 8. Klasse

  • Private Nachricht senden

4

05.07.2010, 12:23

erstell fürs neue listing am besten ein neues projekt oder überschreib den alten quelltext. am anfang ists sowieso nur eine cpp datei und du wirst sehr selten ein listing zurück gehen.

Ausserdem kann ich das Symbol "}" nicht in Visual C++ Express Edition benutzen.Um es zu benutzen, muss ich es mit kopieren und einfügen von woanders holen!
Wäre Nett wenn ihr mir helft!


alt gr+0 ;)

Danke, aber so Dumm bin ich auch nicht! Sonst hätte ich ja "{" nicht hingekriegt!
Es liegt an etwas anderem.
Und wie kann ich die Funktion main mehrmals in einer Projektmappe benutzen?

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

5

05.07.2010, 12:51

In einer Projektmappe sind mehrere kompilierbare Projekte.
Es darf und muss in einem Projekt , welches du für ein Betriebsystem schreibst immer nur 1 main Funktion geben , da
die main Funktion von dem Betriebsystem aufgerufen wird.
Daher kommt es zu komplikationen wenn es mehrere main Funktionen , da das Betriebsysten nicht weiß , welche
es aufrufen soll.
Du kannst aber auch eigene Funktionen schreiben und diese selbst aufrufen.
Das wirst du in den nächsten Kapitel lernen.

MfG Stazer

gamer1115

Frischling

  • »gamer1115« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Nähe Bremen

Beruf: Schüler Gymnasium 8. Klasse

  • Private Nachricht senden

6

05.07.2010, 12:56

OK, danke!
Es ist halt nervig immer eine neue Projektmappe anzulegen, aber dann muss dass wohl sein.
Vielen dank nochmal an alle!
Kann Vielleicht noch jemand sagen, wieso das Zeichen "}" bei mir nicht in dem Programm Funktioniert.
Ich weiß schon, dass man es mit Strg+Alt+0 macht!^^

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

7

05.07.2010, 12:59

Danke, aber so Dumm bin ich auch nicht! Sonst hätte ich ja "{" nicht hingekriegt!

1. hast du nicht gesagt dass "{" funktioniert
und 2. geht alt+strg+7 wohingegen alt+strg+0 nicht funktioniert.

edit: eben nicht alt+strg+0 sondern Alt Gr+0 -.-
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

gamer1115

Frischling

  • »gamer1115« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Nähe Bremen

Beruf: Schüler Gymnasium 8. Klasse

  • Private Nachricht senden

8

05.07.2010, 13:08

Oh, da habe ich mich wohl verlesen. :thumbsup: :lol:
Also nochmal danke. Ich dachte halt, die Zeichen werden überall gleich geschrieben. weil hier bei dieser Nachricht kann ich "}" mit Strg+Alt+0 schreiben.
Ok. Alle meine Fragen sind geklärt! Thema kann geschlossen werden
closed
MfG
Gamer1115

gamer1115

Frischling

  • »gamer1115« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Nähe Bremen

Beruf: Schüler Gymnasium 8. Klasse

  • Private Nachricht senden

9

05.07.2010, 18:52

Kann ich auch, die main-Funktion mehrmals kopieren und umbenennen um sie mehrmals zu nutzen?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

10

05.07.2010, 18:54

Wie meinst du das genau?

In einem Projekt darf es nur eine main Funktion haben, ansonsten wüsste man ja nicht, wo der Code anfangen muss.

Aber für ein anderes Projekt kansnt du die main Funktion prinzipiell schon kopieren. Ob das sehr sinnvoll ist, ist wieder eine andere Frage.

Werbeanzeige