【发布时间】:2015-11-18 16:34:19
【问题描述】:
如何在不初始化的情况下声明一个对象?
这是我的头文件
#include "shader.h"
Class Renderer {
private:
kaarez::graphics::Shader m_terrainShader;
};
还有我的源文件
#include "Renderer.h"
#include "Shader.h"
Renderer::Renderer() {
//Load terrain shader
m_terrainShader = kaarez::graphics::Shader("vertex.txt", "fragment.txt");
}
我得到的错误是没有适用于 Shader 的合适的默认构造函数。
Shader 是header-only,当我通过kaarez::graphics::Shader terrainShader("vertex.txt", "fragment.txt");在main 方法中声明它时它可以工作
怎么了?
【问题讨论】:
-
您的问题有点无法解决,因为 C++ 区分大小写。没有
Class关键字并且shader.h不是Shader.h。 -
显然我的 IDE/编译器对包含不区分大小写。没有改变任何东西。