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

Frogy

Frischling

  • »Frogy« ist der Autor dieses Themas

Beiträge: 43

Wohnort: Weimar

Beruf: Schüler (Klasse 9; Spezi)

  • Private Nachricht senden

1

04.05.2007, 19:59

VC Express Header

Wie kann ich in VC Express 2005 eine Header-Datei einbinden?

Denn wenn ich den Header im gleichen Verzeichnis ablege wie den Main-Source-Code und mit #include <header.h> einbinde, sagt mir VC 2005 es könne die Datei nicht finden :( .

Danke im Vorraus!
Fortune, fame
Mirror, vain
Gone insane
But the memory remains

Metallica

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

2

04.05.2007, 20:02

Komisch, mach mal testweise mit #include "Header", das ändert aber imho nur die Suchpräferenz. Evtl nichtmal das, hatte das hier irgendwann mal gelesen ^^

Und mit Ordner meinst du schon "physikalische" Ordner? Die Ordner im VS (Header, Quellcode und Resourcen) haben mit dem Speicherort nämlich nix zu tun.

Frogy

Frischling

  • »Frogy« ist der Autor dieses Themas

Beiträge: 43

Wohnort: Weimar

Beruf: Schüler (Klasse 9; Spezi)

  • Private Nachricht senden

3

04.05.2007, 20:07

Ich habs probiert. Geht auch nicht :(

Der Header ist übrigens auch zum Projekt hinzugefügt.
Fortune, fame
Mirror, vain
Gone insane
But the memory remains

Metallica

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

04.05.2007, 20:17

und mit

C-/C++-Quelltext

1
#include "Header.h"


?

der header liegt auch sicher im selber ordner wie die .cpp datei(en)?

Frogy

Frischling

  • »Frogy« ist der Autor dieses Themas

Beiträge: 43

Wohnort: Weimar

Beruf: Schüler (Klasse 9; Spezi)

  • Private Nachricht senden

5

04.05.2007, 20:45

ja, der liegt im gleichen ordner und mit

C-/C++-Quelltext

1
#include "header.h"
gibt es folgende Fehlerausgabe (der header definiert die Klasse ball)

1>------ Erstellen gestartet: Projekt: test2, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>test2.cpp
1>.\test2.cpp(11) : error C3699: "*": Diese Referenzierung kann nicht für den Typ "ball" verwendet werden.
1> Der Compiler ersetzt "*" durch ^", um die Analyse fortzusetzen.
1>.\test2.cpp(11) : error C2440: 'Initialisierung': 'int' kann nicht in 'ball ^' konvertiert werden
1> Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
1> Es ist keine Standardkonvertierung von der mittels Boxing geschachtelten Form des arithmetischen Typs in den Zieltyp vorhanden.
1>.\test2.cpp(21) : error C2750: "ball": "new" kann für den Verweistyp nicht verwendet werden. Verwenden Sie stattdessen ''gcnew''.
1>.\test2.cpp(21) : warning C4305: 'Argument': Verkürzung von 'double' in 'float'
1>.\test2.cpp(21) : error C2440: '=': 'ball *' kann nicht in 'ball ^' konvertiert werden
1> Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
1> Ein nicht verwalteter Typ kann nicht in einen verwalteten Typ umgewandelt werden
1>Das Buildprotokoll wurde unter "file://d:\GameProgramming\test2\test2\Debug\BuildLog.htm" gespeichert.
1>test2 - 4 Fehler, 1 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Fortune, fame
Mirror, vain
Gone insane
But the memory remains

Metallica

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

04.05.2007, 20:47

^^ wo steht da bitte, dass er den header nicht findet?

Frogy

Frischling

  • »Frogy« ist der Autor dieses Themas

Beiträge: 43

Wohnort: Weimar

Beruf: Schüler (Klasse 9; Spezi)

  • Private Nachricht senden

7

04.05.2007, 20:53

Das ist ja dann weggefallen, ich vergaß das dazuzuschreiben.
Mit

C-/C++-Quelltext

1
#include <header.h>
kommt als Fehler:

1>------ Erstellen gestartet: Projekt: test2, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>test2.cpp
1>.\test2.cpp(2) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "header.h": No such file or directory
1>Das Buildprotokoll wurde unter "file://d:\GameProgramming\test2\test2\Debug\BuildLog.htm" gespeichert.
1>test2 - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Hier mal noch der SourcCode

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
#include <iostream>
#include <header.h>

using namespace std;

int main(int argc, char** argv)
{
    float x, y;
    ball Ball1;
    ball Ball2(10.0, 10.0);
    ball *pBall3 = 0;

    x = Ball1.GetX();
    y = Ball1.GetY();
    cout << printf("Ball1: X = %f, Y = %f", x, y) << endl;

    x = Ball2.GetX();
    y = Ball2.GetY();
    cout << printf("Ball2: X = %f, Y = %f", x, y) << endl;

    pBall3 = new ball(0.1, -66.0);

    x = pBall3->GetX();
    y = pBall3->GetY();
    cout << printf("pBall3: X = %f, Y = %f", x, y) << endl;
    
    return 0;
}


Und der header:

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
46
47
48
49
#pragma once

class ball
{
public:
    float x, y, dx, dy;

    ball()
    {
        this->x = 0;
        this->y = 0;
        this->dx = 0;
        this->dy = 0;
    }

    ball(float x, float y)
    {
        this->x = x;
        this->y = y;
        this->dx = 0;
        this->dy = 0;
    }

    ~ball(){};

    float GetX()
    {
        return this->x;
    }

    float GetY()
    {
        return this->y;
    }

    int SetPos(float x, float y)
    {
        this->x = x;
        this->y = y;
        return 0;
    }

    int update()
    {
        this->x += this->dx;
        this->y += this->dy;
        return 0;
    }
};
Fortune, fame
Mirror, vain
Gone insane
But the memory remains

Metallica

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

04.05.2007, 20:59

weil die <> bei include dem compiler sagen er soll in den standard pfaden suchen, wo er deine datei wohl nicht finden wird. mit " " gehts ja...

die fehler die du da bekommst sind rein in der .cpp datei zu suchen.
ich weis sogar, dass du in den zeilen 11 und 21 anfangen solltest zu suchen. alternativ kannst du auch diese zeilen, bzw. deinen code posten. hellsehen kann hier leider keiner :p

Frogy

Frischling

  • »Frogy« ist der Autor dieses Themas

Beiträge: 43

Wohnort: Weimar

Beruf: Schüler (Klasse 9; Spezi)

  • Private Nachricht senden

9

04.05.2007, 21:02

Ja, aber wenn ich die klasse im MainCpp definiere gibt es keine Fehler :? !!
Fortune, fame
Mirror, vain
Gone insane
But the memory remains

Metallica

10

04.05.2007, 22:15

Man ist das nen schwachsinniger Code ^^ selten sowas gesehen ^^

Ball.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
27
28
29
30
#if !defined(BALL_H__INCLUDED)
#define BALL_H__INCLUDED

#if (_MSC_VER > 1000)
    #pragma once
#endif // _MSC_VER > 1000


class ball
{
public:
    ball() : m_x(0), m_y(0), m_dx(0), m_dy(0)                               {}
    ball(const float& x, const float& y) : m_x(x), m_y(y), m_dx(0, m_dy(0)  {}
    ~ball()                                                                 {}

public:
    float get_x() const                             {   return m_x; }
    float get_y() const                             {   return m_y; }

public:
    void set_pos(const float& x, const float& y)    {   m_x = x; m_y = y;           }
    void update()                                   {   m_x += m_dx; m_y += m_dy;   }

private:
    float   m_x;
    float   m_y;
    float   m_dx;
    float   m_dy;
};

#endif // BALL_H__INCLUDED

main.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include "ball.h"

int main()
{
    ball    inst_one;
    std::cout << "Ball1: X = " << inst_one.get_x() << ", Y = " << inst_one.get_y() << std::endl;
    ball    inst_two(10.0, 10.0);
    std::cout << "Ball2: X = " << inst_two.get_x() << ", Y = " << inst_two.get_y() << std::endl;
    ball*   p_inst_three = new ball(0.1, -66.0);
    std::cout << "Ball3(Heap): X = " << p_inst_three->get_x() << ", Y = " << p_inst_three->get_y() << std::endl;
    delete p_inst_three;
    
    return 0;
}
...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Werbeanzeige