读书人

为什么指针为0xcdcdcd.(空值)?该如何处

发布时间: 2012-02-27 10:00:22 作者: rapoo

为什么指针为0xcdcdcd..(空值)?
TestClass *p=Coma[0];为什么p会出错??
-----------------------
1.h文件
TestClass *Coma[4];
2.cpp文件
Coma[0]=new TestClss;


[解决办法]
TestClass (*Coma)[4];//这样试一试
[解决办法]
class TestClass
{
};

int main()
{
TestClass *Coma[4];
Coma[0]=new TestClass;

TestClass *p=Coma[0]; // p并非为空值

delete p;
}

以上代码在VC++.NET2003中测试过。
[解决办法]
1.h文件
extern TestClass *Coma[4];
2.cpp文件
TestClass *Coma[4];
Coma[0]=new TestClss;
TestClass *p=Coma[0];

[解决办法]
stl的话,所有东西放在.hpp文件里,现在大部分编译器还不支持分离编译模式(至少我还没有碰到支持的),呵呵

读书人网 >C++

热点推荐