为什么指针为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文件里,现在大部分编译器还不支持分离编译模式(至少我还没有碰到支持的),呵呵