C++构造函数问题

标签 c++ class constructor crash

我有一个用于在 OpenGL 中加载和渲染对象的类。为了加载对象,我有一个名为 LoadFile(std::string FilePath) 的函数,它工作得很好,但现在我还想从构造函数加载一个文件,所以我尝试这样做:

CObject(std::string FilePath)
{
    CObject(); // set all values to 0
    LoadFile(FilePath);
}

但是每当我尝试渲染时,这样做都会使我的应用程序崩溃,我真的不知道为什么 :s。

最佳答案

嗯,CObject(); 不会将所有值设置为 0,而是创建一个临时对象。应该是:

CObject(std::string FilePath)
{
    //manually set fields to 0
    LoadFile(FilePath);
}

如果您的默认构造函数也再次调用自身,则很可能是堆栈溢出错误。

关于C++构造函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338972/

相关文章:

c++ - shared_ptr 的子数据(类似子字符串?)

c++ - 友元函数无法访问私有(private)数据成员

css - 谷歌地图 iframe 类覆盖上面的文字并且不尊重维度

c++ - 动态内存和构造函数异常

c++ - 错误 : wrong number of arguments specified for ‘constructor’ attribute

c++ - 根据堆栈跟踪过滤掉中断

c++ - 有什么理由更喜欢从 IDE 中运行应用程序而不是运行独立的可执行文件?

C++ SetConsoleCtrlHandler,在没有全局变量的情况下传递数据进行清理

java - 实现接口(interface)以调用相同方法的类数组

java - 围绕 superfirst 工作