【发布时间】:2013-12-12 17:18:43
【问题描述】:
我有一堂课:
class SendData
{
public:
SendData(int SendAMsg(int foo, unsigned char *bar, int length), int number)
{
m_nDefinePos = 0;
m_nOtherStuffDefinedAs =0;
}
void somestuffhere();
void ClearDefinition();
private:
int aLotOfVariableshere;
int m_nDefinePos;
};
这是类本身。然后调用了一些东西:
SendData* m_pData;
m_pData->ClearDefinition();
现在叫这个:
void SendData::ClearDefinition()
{
printf("Welcome to Clear Definition Script\n");
m_nDefinePos = 0;
// Some more stuff here
}
这里的代码以某种方式中断。我在控制台中收到“欢迎使用 Clear Definition Script”消息,但仅此而已。
它在m_nDefinePos = 0; 上中断。 (我确实在它之后输入了另一个printf 命令,从未在控制台中显示。)
我只是不知道为什么它在那里中断并且我找不到任何错误。
【问题讨论】:
-
1) 代码中断是什么意思。您是否得到意外结果、编译器错误或运行时异常? 2)很难说出您提供的代码很少会出现什么问题。尝试多发一点。
-
哦,是的,对不起,我忘了说:它编译得很好,然后程序运行到这个确切的位置会溢出“欢迎使用 ClearDefinition 脚本”,然后弹出错误消息....exe is not working当我点击调试按钮时:“0x0000005:访问冲突”
-
欢迎来到 SO。如果您的问题得到解决,请稍等片刻并通过点击旁边的复选标记来接受答案。
-
@Zett,请不要在您的标题中添加
[Solved]。如果您的问题得到解决,请接受一个答案,无论是您自己的还是其他人的。 -
嗨,欢迎来到 SO。我从您的问题中删除了所有内容。没有人真的需要知道这一切。尽量简洁明了。提供错误消息或清楚地说明“此处中断”的含义。不要添加 [已解决] 或类似内容。点击解决您问题的答案上的绿色复选标记。