This is my code:
GLint framebuffer_handle = 0;
void glGetIntegerv(GLenum pname, GLint * data){ ... }
glGetIntegerv(GL_FRAMEBUFFER_BINDING, *framebuffer_handle);
The last line reports an error:
indirection requires pointer operand ('GLint' (aka 'int') invalid)
What's the problem with this code?
CodePudding user response:
framebuffer_handle is not a pointer, so you can't dereferenced it with the * operator. That is what the compiler is complaining about.
glGetIntegerv() wants a pointer to a GLint. A pointer holds a memory address. You need to use the & operator to get the address of (ie, a pointer to) the framebuffer_handle variable, eg:
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &framebuffer_handle);
