一个关于内存的错误: ( 求解!
编译M.exe没有问题
但是双击M.exe后出现如下错误:
The instruction at "0x6001bed" referenced memory at "0x00000000". The memory could not be "written".
然后click ok to terminate, click cancel to debug
程序无法正常运行,请问是什么原因呢?
以下是代码:(改代码之前还是好的,改过之后就不行了)
#define TEST_ENDING() \
} \
\
static CPPUNIT_NS::TestSuite *suite() \
{ \
const CPPUNIT_NS::TestNamer &namer = getTestNamer__(); \
std::auto_ptr<CPPUNIT_NS::TestSuite> suite( \
new CPPUNIT_NS::TestSuite( namer.getFixtureName() )); \
return suite.release(); \
} \
CPPUNIT_NS::Test * pSuite=new CPPUNIT_NS::Test; \ // 这两行是后来加上去的
pSuite->suitePrint=suite_printTests; \ // 这两行是后来加上去的
// 原始目的就是想新建一个Test类的指针,使得在Test类中定义的函数指针suitePrint指向
suite_printTests这个函数(此函数另外有定义)
请问基于我的原始目的,怎么解决这个问题?