我正在使用以下这种try-catch块:
try {
Texture heightmapTexture = Texture("Snow0101_7_M.jpg");
} catch (TextureLoadException exc) {
std::cout << exc.what() << std::endl;
}
事实上,我需要在程序中进一步重用变量heightmapTexture。所以我意识到由于范围的限制,我无法这样做。我应该将程序的其余部分放在该范围内吗?对我来说,这没有任何意义。
我也无法在范围外声明变量,因为我必须对其进行初始化。它有一个只接收字符串输入的构造函数。
什么是最好的解决方案?
我意识到我可以使用指针,但我试图避免这样做(我并不真正擅长防止内存泄漏)。
编辑:抱歉,我错误地将变量声明为Heightmap类,它是一个纹理对象。但问题是一样的。