我的Xlib包装类中的分段错误(C ++)

时间:2011-02-13 17:10:08

标签: c++ linux segmentation-fault xlib x11

我正在尝试为Xlib库创建一个包装类,但是我遇到了分段错误!我是C ++的新手,这可能超出了我的深度,也许我的目标设定得很高,除了那个问题,有人能说出我为什么会出现这种分段错误吗? source file
header file
main.cpp

我相信这是我得到的回溯:

Program received signal SIGSEGV, Segmentation fault.
In XMapWindow () (/usr/lib/libX11.so.6)
At /home/elliot/Programming/C and C++/XWindows/src/MyWindow.cpp:49

1 个答案:

答案 0 :(得分:3)

您的错误表示display的{​​{1}}或window参数不正确。

您需要在代码中添加更多错误检查,特别是调用XMapWindow()XOpenDisplay的结果。

我能看到的唯一明显错误是您将XCreateWindow标记传递给CWBackPixel,但未将XCreateWindow参数保留为未初始化。与普通C不同,C ++在声明结构时不会清除结构的内存内容。

编辑 - 我当然错过了一个非常明显的错误 - 你无意中重新声明了构造函数中的所有类成员变量。那将是你的范围问题。您需要从构造函数中的所有赋值中删除类型名称,例如:

attributes