以下代码导致 .ReadFromFile 行出现段错误:
int main()
{
// Load in.bmp
BMP * original;
cout << "line " << __LINE__ << ": Got here!" << endl;
original->ReadFromFile("in.bmp"); //Error HERE!
int width = original->TellWidth();
int height = original->TellHeight();
cout << "line " << __LINE__ << ": Got here!" << endl;
我正在使用 EasyBMP 库,它包含在主函数之上。我知道它与内存和指针有关,但我不知道用什么来代替“原始->”……我试过了(*原始)。和(&原创)。但我似乎无法理解。有帮助吗?
谢谢!
最佳答案
您的指针 original
指向随机内存位置。尝试使用它会导致未定义的行为。您需要为 BMP
对象分配内存并将地址存储在该指针中。如果你希望你的对象在它退出函数后仍然存在,请使用 original = new BMP();
(不要忘记稍后删除
它)否则你可以直接做BMP original;
使用。
关于C++ EasyBMP 指针问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4805844/