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

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

21

23.02.2012, 11:07

Ja das meinte ich damit auch

Ah, stimmt, hab dich wohl falsch verstanden ;)

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

22

23.02.2012, 11:13


Naja _müssten_ Referenzen immer konstant sein, würde das sicher intern schon abgehandelt werden. Mir fällt zwar gerade keiner ein, aber non Konstante Referenzen haben sicher auch eine Daseinsberechtigung, auch neben Zeigern. ;)

Zeiger und Referenzen sind zwei völlig verschiedene Dinge. Eine Referenz nimmt man, wenn man eben eine Referenz auf ein Objekt übergeben will. Einen Zeiger nimmt man, wenn man einen Zeiger braucht. Eine Referenz auf ein const Objekt wird man wohl meistens verwenden, wenn man eine Kopie vermeiden will.

Hab' nichts anders behaupten. Der Bezug auf Zeiger kam wegen m3xx Aussage.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

23

23.02.2012, 11:21

War auch nicht als Kritik an deiner Aussage gemeint, wollt das nur klarstellen ;)
Aber stimmt, war wohl nicht so ideal das direkt so unter dein Zitat zu schreiben...

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

24

23.02.2012, 18:02

Also ich habs jetzt so gemacht, dass ich App global erstellt hab, also in der game.h.
Jetzt kommen aber kommische Fehler und ich verstehe nicht so ganz, was sie bedeuten:

Zitat

1>CMob.obj : error LNK2005: "class sf::RenderWindow App" (?App@@3VRenderWindow@sf@@A) ist bereits in CGame.obj definiert.
1>CPlayer.obj : error LNK2005: "class sf::RenderWindow App" (?App@@3VRenderWindow@sf@@A) ist bereits in CGame.obj definiert.
1>main.obj : error LNK2005: "class sf::RenderWindow App" (?App@@3VRenderWindow@sf@@A) ist bereits in CGame.obj definiert.
1>LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
1>C:\Users\Mathias Heiles\documents\visual studio 2010\Projects\SFML test\Release\SFML test.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.


Vorallem nicht was jetzt dieser "Konflikt" zwischen meinen Bibiliotheken sein soll!
Was heißen diese Fehler eigentlich generell?
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

25

23.02.2012, 18:05

Naja der Fehler steht ziemlich unmissverständlich ja da. Wie sieht die entsprechende Datei/Source aus?
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

26

23.02.2012, 18:06

die hab ich doch schon auf der 1. seite geladen...
Verändert hab ich nur, dass App jetzt global ist und ich den singleton komplett gelöscht hab.
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

27

23.02.2012, 18:10

Ich hab aber keine Lust mir alles zu laden.
Pack doch den relevanten Teil hier oder so rein und poste den Link.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

28

23.02.2012, 18:23

"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

29

23.02.2012, 19:07

Wenn bei dir in der Header Datei das auch genau so drin steht, denke ich mal dir fehlen die Includeguards.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//    CGame.h 

#include <SFML\Graphics.hpp>
#include <vector>
#include "CMob.h"
#include "CPlayer.h"

// RenderWindow
sf::RenderWindow *App;


//Spiel-Klasse
class CGame
{
...
}


Dadurch hättest du mehrere CGame.h und dadurch mehrere sf:RenderWindow App.

So denke ich sollte es klappen wenn sie dir wirklich fehlen.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//    CGame.h 

#ifndef CGAME_H
#define CGAME_H

#include <SFML\Graphics.hpp>
#include <vector>
#include "CMob.h"
#include "CPlayer.h"

// RenderWindow
sf::RenderWindow *App;


//Spiel-Klasse
class CGame
{
...
}

#endif CGAME_H

ProAmateur

Alter Hase

  • »ProAmateur« ist der Autor dieses Themas

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

30

23.02.2012, 19:25

Es funktioniert immer noch nicht :(

Sie gleichen Fehler drehten wieder auf...
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

Werbeanzeige