Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Probleme in einer Klasse, bin ich blind?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.03.2004, 10:47 Uhr
dad_an_der_fh



Hallo,

meine Problem ist, wie ich denke einfach, aber ich seh den Wald vor lauter Bäumen wohl nicht!

imagepos.h - headerdatei

C++:
#ifndef IMAGEPOS_H
#define IMAGEPOS_H

#include <windows.h>        // Header File For Windows
#include <stdio.h>            // Header File For Standard Input/Output
#include <GL/gl.h>            // Header File For The OpenGL32 Library
#include <GL/glut.h>        // Header File For The GLu32 Library
#include <GL/glaux.h>        // Header File For The Glaux Library

class ImagePos {
private:
                        ImagePos();
};

#endif



in der c-Datei ist nur der include, sonst garnichts.

Er bringt mir aber folgenden Fehler:

c:\SRC\Gl\imagepos.h(10): error C2061: Syntaxfehler : Bezeichner 'ImagePos'
c:\SRC\Gl\imagepos.h(10): error C2059: Syntaxfehler : ';'
c:\SRC\Gl\imagepos.h(26): error C2059: Syntaxfehler : '}'


Wer weiß wo ich blind bin?

Gruß und Dank!

Dieser Post wurde am 24.03.2004 um 10:49 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.03.2004, 11:04 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ich würd vermuten, dass das problem durch das includieren der anderen headers entsteht... da scheint ihm was nicht zu schmecken...
wiso deklarierst du denn den defaultkonstruktor private?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.03.2004, 11:11 Uhr
typecast
aka loddab
(Operator)


Ich würde darauf tippen, dass der Fehler daran liegt, dass der Konstruktor private ist. Setz ihn auf public und berichte dann mal, was der Compiler dann sagt. Außerdem hast du geschrieben, dass deine Datei mit .c endet. Vielleicht ist dein Compiler so eingestellt, dass er bei .c Dateien automatisch den C-Compiler startet. Ändere die Dateiiendung mal in .cpp um
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.03.2004, 11:14 Uhr
dad_an_der_fh



mit private, war nur zum testen.

ich kann auch die include´s bis auf "windows.h" rausnehmen und der selbe fehler kommt und in "windows.h" wird wohl kein fehler sein.

Ich wär echt blöd dabei!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.03.2004, 11:20 Uhr
typecast
aka loddab
(Operator)


Dann poste mal auch den Code der .cpp Datei
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.03.2004, 11:20 Uhr
dad_an_der_fh



das file ist ein cpp und der compiler macht auch c++, auch in public verhält es sich nicht anders.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
24.03.2004, 11:27 Uhr
dad_an_der_fh



Also jetzt kommt das h und cpp file, wie ich es eigentlich haben wollte:

imagepos.h


C++:
#ifndef IMAGEPOS_H
#define IMAGEPOS_H

#include <windows.h>            // Header File For Windows
#include <stdio.h>            // Header File For Standard Input/Output
#include <GL/gl.h>            // Header File For The OpenGL32 Library
#include <GL/glut.h>        // Header File For The GLu32 Library
#include <GL/glaux.h>        // Header File For The Glaux Library

class ImagePos {
public:
                        ImagePos();
    int                    DrawGLScene( void );                // Here's Where We Do All The Drawing

private:
    AUX_RGBImageRec*    LoadBMP( char *Filename );            // Loads A Bitmap Image
    int                    LoadGLTextures( void );                // Load Bitmaps And Convert To Textures

    
    GLfloat    xrot;                // X Rotation ( NEW )
    GLfloat    yrot;                // Y Rotation ( NEW )
    GLfloat    zrot;                // Z Rotation ( NEW )

    GLuint    texture[1];            // Storage For One Texture ( NEW )
};

#endif




imagepos.cpp


C++:
#include "imagepos.h"

ImagePos::ImagePos()
{
    xrot = 0;
    yrot = 0;
    zrot = 0;
}

AUX_RGBImageRec* ImagePos::LoadBMP( char *Filename )                // Loads A Bitmap Image
{
    FILE *File=NULL;                                    // File Handle

    if (!Filename)                                        // Make Sure A Filename Was Given
    {
        return NULL;                                    // If Not Return NULL
    }

    File=fopen(Filename,"r");                            // Check To See If The File Exists

    if (File)                                            // Does The File Exist?
    {
        fclose(File);                                    // Close The Handle
        return auxDIBImageLoad(Filename);                // Load The Bitmap And Return A Pointer
    }

    return NULL;                                        // If Load Failed Return NULL
}

int ImagePos::LoadGLTextures( void )                                    // Load Bitmaps And Convert To Textures
{
    int Status=FALSE;                                    // Status Indicator

    AUX_RGBImageRec *TextureImage[1];                    // Create Storage Space For The Texture

    memset(TextureImage,0,sizeof(void *)*1);               // Set The Pointer To NULL

    // Load The Bitmap, Check For Errors, If Bitmap's Not Found Quit
    if (TextureImage[0]=LoadBMP("Data/gfx/nice.bmp"))
    {
        Status=TRUE;                                    // Set The Status To TRUE

        glGenTextures(1, &texture[0]);                    // Create The Texture

        // Typical Texture Generation Using Data From The Bitmap
        glBindTexture(GL_TEXTURE_2D, texture[0]);
        glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
        glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    }

    if (TextureImage[0])                                    // If Texture Exists
    {
        if (TextureImage[0]->data)                            // If Texture Image Exists
        {
            free(TextureImage[0]->data);                    // Free The Texture Image Memory
        }

        free(TextureImage[0]);                                // Free The Image Structure
    }

    return Status;                                        // Return The Status
}

int ImagePos::DrawGLScene( void )                                    // Here's Where We Do All The Drawing
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);    // Clear The Screen And The Depth Buffer
    glLoadIdentity();                                    // Reset The View
    glTranslatef(0.0f,0.0f,-5.0f);

    glRotatef(xrot,1.0f,0.0f,0.0f);
    glRotatef(yrot,0.0f,1.0f,0.0f);
    glRotatef(zrot,0.0f,0.0f,1.0f);

    glBindTexture(GL_TEXTURE_2D, texture[0]);

    glBegin(GL_QUADS);
        // Front Face
        glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);
        glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);
        glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);
        glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);
        // Back Face
        glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);
        glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);
        glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);
        glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);
        // Top Face
        glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);
        glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f,  1.0f,  1.0f);
        glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f,  1.0f,  1.0f);
        glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);
        // Bottom Face
        glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, -1.0f, -1.0f);
        glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f, -1.0f, -1.0f);
        glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);
        glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);
        // Right face
        glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f, -1.0f);
        glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f, -1.0f);
        glTexCoord2f(0.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);
        glTexCoord2f(0.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);
        // Left Face
        glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, -1.0f);
        glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);
        glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f);
        glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f, -1.0f);
    glEnd();

    xrot+=0.3f;
    yrot+=0.2f;
    zrot+=0.4f;
    return TRUE;                                        // Keep Going
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
24.03.2004, 13:56 Uhr
stephanw
localhorst


mh bei mir kompiliert das so. Irgendwelche Macro-Sachen ? Wechselwirkungen mit anderen includes ? Welcher Compiler ?
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: