我一直关注此视频BMP Loader for GLUT。我一直收到错误"控制可能会达到无效功能的结束"在最后一个括号上。我该如何解决这个错误?对我来说,如果文件" fp"不开放的人可以将文件fclose" fp"什么时候不开放!
#include "Texture.h"
Texture::Texture(void* data, int w, int h, int format) {
glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_2D, textureID);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, format, GL_UNSIGNED_BYTE, data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glBindTexture(GL_TEXTURE_2D, 0);
}
Texture* Texture::loadBMP(const char* filename) {
FILE* fp;
fp = fopen(filename, "r");
if (!fp) {
cout << filename << "could not be opened!" << endl;
fclose(fp);
return NULL;
}
}
答案 0 :(得分:1)
它的含义是:程序可以在没有loadBMP
任何内容的情况下到达return
的末尾。
当文件成功打开时,您需要决定要从此函数返回的内容。