Rashmistrz Temat założony przez niniejszego użytkownika |
[błąd kompilacji] invalid initialization of non-const reference of type from an rvalue of type » 2016-06-14 16:14:15 Zwraca mi błąd kompilacji: InitGL.cpp|10|error: invalid initialization of non-const reference of type 'GLuint& {aka unsigned int&}' from an rvalue of type 'GLuint* {aka unsigned int*}'| . Wskazując na wywołanie funkcji: NeHeLoadBitmap( "tekstura.bmp", texture ) . fragment "Globals.hpp": extern GLuint texture[]; . fragment "Globals.cpp": GLuint texture[ 3 ]; . "GlauxReplacement.cpp": #pragma once
#include <windows.h> #include <GL/gl.h> #include <GL/glu.h>
bool NeHeLoadBitmap( LPTSTR szFileName, GLuint * texid ) { HBITMAP hBMP; BITMAP BMP; glGenTextures( 3, texid ); hBMP =( HBITMAP ) LoadImage( GetModuleHandle( NULL ), szFileName, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE ); if( !hBMP ) return FALSE; GetObject( hBMP, sizeof( BMP ), & BMP ); glPixelStorei( GL_UNPACK_ALIGNMENT, 4 ); glBindTexture( GL_TEXTURE_2D, texid[ 0 ] ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST ); glTexImage2D( GL_TEXTURE_2D, 0, 3, BMP.bmWidth, BMP.bmHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, BMP.bmBits ); glBindTexture( GL_TEXTURE_2D, texid[ 1 ] ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexImage2D( GL_TEXTURE_2D, 0, 3, BMP.bmWidth, BMP.bmHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, BMP.bmBits ); glBindTexture( GL_TEXTURE_2D, texid[ 2 ] ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST ); gluBuild2DMipmaps( GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight, GL_RGB, GL_UNSIGNED_BYTE, BMP.bmBits ); DeleteObject( hBMP ); return TRUE; }
"GlauxReplacement.hpp": #include <windows.h> #include <GL/gl.h> http: bool NeHeLoadBitmap( LPTSTR szFileName, GLuint & texid );
Najwidoczniej popełniłem gdzieś drobny błąd niezauważalny dla mnie. :/ Przede wszystkim nie rozumiem po polsku co ten błąd oznacza. :C |