BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #21201同步于 2007/9/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

[合集] 请教一个C++的问题,多谢

CNLAS
2007/9/20镜像同步0 回复
☆─────────────────────────────────────☆ okcry () 于 (Mon Sep 17 22:14:54 2007) 提到: 错误情况如图片,源代码见附件, 我在头文件中定义了如下数据结构 typedef struct Chunk { char ch[CHUNK_SIZE]; struct Chunk* next; }Chunk; typedef struct { int curlen; char state; //state used for checking if there needs to add new node. Chunk* head; Chunk* tail; }SString; 在main函数中执行到如下语句时提示和某段内存发生冲突, ap_string->tail = p_temp; 实在是不知道为什么?请各位大侠指点,多谢了! main函数如下 #include "test.h" int main( int argc, char** argv) { SString* ap_string; Chunk* p_temp = ( Chunk* )malloc( sizeof( Chunk ) ); ap_string->tail = p_temp; //error happens! if( !ap_string->tail ) { cout<<"ap_string->tail malloc error"<<endl; return 0; } return 0; } ☆─────────────────────────────────────☆ okcry () 于 (Mon Sep 17 22:16:24 2007) 提到: P.S: 我用的编译环境是 2005.net ☆─────────────────────────────────────☆ vivin (阿诺) 于 (Mon Sep 17 22:23:10 2007) 提到: 你怎么也得给SString* ap_string; 实例化一下吧 ☆─────────────────────────────────────☆ CNLAS (Ich gewinne bestimmt……) 于 (Mon Sep 17 22:23:31 2007) 提到: SString* ap_string; Chunk* p_temp = ( Chunk* )malloc( sizeof( Chunk ) ); 既然知道给后一个分配内存那么为啥不给第一个分配? 这样写VC8应该会有warning提示的吧。。。 ☆─────────────────────────────────────☆ okcry () 于 (Mon Sep 17 22:29:46 2007) 提到: 【 在 vivin 的大作中提到: 】 : 你怎么也得给SString* ap_string; 实例化一下吧 非常感谢!! SString a_temp; SString* ap_string = &a_temp; Chunk* p_temp = ( Chunk* )malloc( sizeof( Chunk ) ); ap_string->tail = p_temp; 可以了!真是一言惊醒梦中人啊[em24] 多谢[em68] ☆─────────────────────────────────────☆ okcry () 于 (Mon Sep 17 22:35:50 2007) 提到: 【 在 CNLAS 的大作中提到: 】 : SString* ap_string; : Chunk* p_temp = ( Chunk* )malloc( sizeof( Chunk ) ); : 既然知道给后一个分配内存那么为啥不给第一个分配? : ................... 确实没有考虑到这个问题,实在是感谢了 [em68] SString* ap_string = (SString*)malloc(sizeof(SString)); ap_string->tail = ( Chunk* )malloc( sizeof( Chunk ) );
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。