相关代码:1.CDameView有一个静态成员m_Drawer,是一个类
class CDameView : public CView
{
......
public:
static CDrawTools m_Drawer;
private:
static UINT WorkingThread(LPVOID param);
......
}2.工作线程
UINT CDameView::WorkingThread(LPVOID param)
{
......
typedef bool (*CONDITION)(state&);
CONDITION condition = (CONDITION)m_Drawer.GetCondition(name);
......
if ((*condition)(s)) // 此处中断,提示访问冲突
{
......
}
......
}3.通过CDrawTools的GetCondition方法向工作线程提供CConditionCollector的静态成员函数的地址
class CDrawTools
{
......
private:
CConditionCollector m_Collector_Condition;
public:
LPVOID GetCondition(LPCSTR name);
......
}4.最终,工作线程在调用这个类的静态成员Condition_Example时产生中断
class CConditionCollector
{
......
public:
static bool Condition_Example(state& s);
......
}
class CDameView : public CView
{
......
public:
static CDrawTools m_Drawer;
private:
static UINT WorkingThread(LPVOID param);
......
}2.工作线程
UINT CDameView::WorkingThread(LPVOID param)
{
......
typedef bool (*CONDITION)(state&);
CONDITION condition = (CONDITION)m_Drawer.GetCondition(name);
......
if ((*condition)(s)) // 此处中断,提示访问冲突
{
......
}
......
}3.通过CDrawTools的GetCondition方法向工作线程提供CConditionCollector的静态成员函数的地址
class CDrawTools
{
......
private:
CConditionCollector m_Collector_Condition;
public:
LPVOID GetCondition(LPCSTR name);
......
}4.最终,工作线程在调用这个类的静态成员Condition_Example时产生中断
class CConditionCollector
{
......
public:
static bool Condition_Example(state& s);
......
}
解决方案 »
- 在线等~!问个打印方面的问题!
- 08下的一个错误!!!!!!!!!!
- 关于界面调用C 函数的问题
- 如何把用户名密码信息在点击提交的时候同时保存到本地硬盘的某个文件里,在下次加载此页面的时候自动填充用户名密码
- 最小化窗体是发的那个消息?
- char chUserID[0xff];// chUserID中有许多空格,怎么简单快速的去掉chUserID中的空格?
- 谁有CJ6.0界面库的使用说明,参考手册(英文的也可以)?
- 问个简单问题!在线等!在线等!
- 放分200,就因为自己今天对一个女孩子一见钟情,根据以往经验,这个女孩子逃不出我手掌心的。
- 我现在要编一个基于对话框的程序,功能是:读一个文件然后把它删掉,这个程序还要调用其他的程序。我想每隔30秒查询一次,只要一发现该文
- S1,S2,S3,S4....
- 郁闷了,今天第一次被人认为不是做程序的
Condition_Example(state& s);这里的s具体是怎么来的?
{
......
typedef bool (*CONDITION)(state&);
CONDITION condition = (CONDITION)m_Drawer.GetCondition(name);
......
// if ((*condition)(s)) // 此处中断,提示访问冲突
if (condition(s)) // 函数指针直接使用
{
......
}
......
}
Complex,
来自:typedef std::complex<double> Complex;错误提示:
Dame.exe 中的 0x00000000 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
还是不行。to cnzdgs :
我试试。其实有时中断,有时运气不好机子直接没反应,刚刚又重启了两回。
比较奇怪的是,有一些变量的值调试时显示明显都是随机乱码,程序却按照正确的逻辑执行。
对,一开始用的是Release版。刚改成Debug版,冒出来一些其它错误……
我在Release中(*condition)(s)之前输出了一下condition的值:都是0。我再看看哪开始出的问题。