|
发表于 2004-4-24 00:12:37
|
显示全部楼层
这是因为 *s 是一个指向\"abcdefg\"(看作内存的一个常量)的指针,根本不是什么“动态字符数组”!- @5 f; y# R1 u% u
7 o: a. Q3 \" X) F8 bdelete 只能用于删除使用 new 分配的内存。
A( X% G% u( b6 g( x2 v- \6 A2 @( T$ A
如:
3 L: c9 o8 }" ~2 m4 v* v7 iCUserInfo* pUserInfo = new CUserInfo;
6 W, u' v* m1 x...) F$ ^/ B- I8 ~5 T; w7 g
delete pUserInfo;6 V; P. J* h& e% h1 C
. N! M( W5 b: k( H* \动态数组应该是这样的:2 a/ g% e% b1 o; ]
: g9 [: b3 L" v* L1 T* ^char* pstr = new char[8];
# _# L9 R) P/ R$ Gstrcpy( pstr, \"abcdefg\" );
4 _/ C. W- N' F9 Q0 w; \5 j4 bdelete[] pstr; |
|