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

Doge

Frischling

  • »Doge« ist der Autor dieses Themas
  • Private Nachricht senden

1

19.09.2015, 17:48

Includierte Dateien machen Probleme

N'abend,

ich habe gerade meine Projektmappe wieder geöffnet und musste feststellen, dass sich dort einiges getan hat. Irgendwas stimmt mit den Includes nicht.
Aus irgendeinem Grund kann ich nicht auf die in der main.cpp includierten Includes zugreifen.

main.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
#include <SFML\System.hpp>
#include <SFML\Graphics.hpp>
#include <iostream>
//-
#include "gameClass.h"



using namespace sf;


gameclass.h

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef __GAMECLASS_H_INCLUDED__
#define __GAMECLASS_H_INCLUDED__


class TextBox
{
public:
    ~TextBox();
    TextBox();


    void create(const TextBox& TextBox);
    void show();
    void setText(const String& string);
    void setPosition(const float& x, const float& y);

private:
    String          m_TextString;
    Text            m_Text;
    Texture         m_Texture;
    RectangleShape  m_Box;
    float           m_Position[2];
    bool            m_Draw;
};

#endif


gameclass.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "gameClass.h"
//-
#include <SFML\Graphics.hpp>
#include <SFML\System.hpp>
#include <iostream>

using namespace sf;

TextBox::TextBox()
{
    // 2 b done
}

TextBox::~TextBox()
{
    // 2 b done
}

void TextBox::create(const TextBox& TextBox)
{
    Text text;
    RectangleShape rectangle;
    Texture texture;

    // Texture
    if(!texture.loadFromFile("assets\text_bg.png"))
        std::cout << "FEHLER: Hintergrund für Dialoge konnte nicht geladen werden!" << std::endl;
    m_Texture = texture;

    // Rechteck
    rectangle.setTexture(m_Texture);
    m_Box = rectangle;
    
}

void TextBox::setPosition(const float& x, const float& y)
{
    m_Box.move(x, y);
    m_Text.move(x, y);
}

void TextBox::setText(const String& string)
{
    // 2 b done
}


Die Fehler: ( mMn treten diese auf, weil irgendetwas falsch includiert ist. Zudem ist mir der letzte Fehler rätselhaft. Habe schon geschaut, ob etwas doppelt includiert ist. )

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Fehler  1   error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    14
Fehler  2   error C2143: Syntaxfehler: Es fehlt ',' vor '&' c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    14
Fehler  3   error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_TextString'  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    18
Fehler  4   error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    18
Fehler  5   error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    18
Fehler  6   error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_Text'    c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    19
Fehler  7   error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    19
Fehler  8   error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    19
Fehler  9   error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_Texture' c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    20
Fehler  10  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    20
Fehler  11  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    20
Fehler  12  error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_Box' c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    21
Fehler  13  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    21
Fehler  14  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    21
Fehler  15  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    14
Fehler  16  error C2143: Syntaxfehler: Es fehlt ',' vor '&' c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    14
Fehler  17  error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_TextString'  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    18
Fehler  18  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    18
Fehler  19  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    18
Fehler  20  error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_Text'    c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    19
Fehler  21  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    19
Fehler  22  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    19
Fehler  23  error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_Texture' c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    20
Fehler  24  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    20
Fehler  25  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    20
Fehler  26  error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'm_Box' c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    21
Fehler  27  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    21
Fehler  28  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.h    21
Fehler  29  error C2065: 'm_Texture': nichtdeklarierter Bezeichner  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  28
Fehler  30  error C2065: 'm_Texture': nichtdeklarierter Bezeichner  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  31
Fehler  31  error C2065: 'm_Box': nichtdeklarierter Bezeichner  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  32
Fehler  32  error C2065: 'm_Box': nichtdeklarierter Bezeichner  c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  37
Fehler  33  error C2228: Links von ".move" muss sich eine Klasse/Struktur/Union befinden.   c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  37
Fehler  34  error C2065: 'm_Text': nichtdeklarierter Bezeichner c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  38
Fehler  35  error C2228: Links von ".move" muss sich eine Klasse/Struktur/Union befinden.   c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  38
Fehler  36  error C2511: 'void TextBox::setText(const sf::String &)': Überladene Memberfunktion nicht in 'TextBox' gefunden    c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  42
    37  IntelliSense: Die Deklaration ist nicht mit ""void TextBox::setText(const <error-type> &string)" (deklariert in Zeile 14 von "c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameClass.h")" kompatibel.   c:\users\simon\documents\visual studio 2010\projects\sfml_game\sfml_game\gameclass.cpp  42



Grüße

2

19.09.2015, 17:54

Du hast in gameclass.h (sorry, hier stand gameclass.hpp ^^) vergessen, SFML zu includieren. Darum kennt der Compiler Dinge wie 'String', 'Tetxture' etc. nicht.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Roflo« (19.09.2015, 18:15)


Doge

Frischling

  • »Doge« ist der Autor dieses Themas
  • Private Nachricht senden

3

19.09.2015, 18:07

Das habe ich bereits vorher probiert, deswegen bin ich ja so verwirrt.
Habe es gerade nochmal versucht - immernoch das selbe Problem.

4

19.09.2015, 18:14

Kommen die gleichen fehler wenn du in gameclass.h SFML includierst? Der Compiler beschwert sich sich ja eindeutig über nicht existierende SFML-Deklarationen.

Doge

Frischling

  • »Doge« ist der Autor dieses Themas
  • Private Nachricht senden

5

19.09.2015, 18:20

Ich habe gameclass.h jeweils in SFML/graphics & SFML/system includiert. Keine Veränderung.

Vielleicht liegt das auch an dem letzten Fehler? Mehr fällt mir dazu auch nicht ein. :huh:

6

19.09.2015, 18:27

String, Text und die anderen liegen im Namensraum sf:: ;)

Doge

Frischling

  • »Doge« ist der Autor dieses Themas
  • Private Nachricht senden

7

19.09.2015, 18:29

Klar, stimmt. :pinch:
Vielen Dank!

Werbeanzeige