流年

一些bug

2009年3月12日 阅读(112)

1.由于某位在修改的时候,把拷贝赋值函数全部重新写了下,但是漏掉了一个变量的赋值,导致其值为空,调试半天。

结论:代码修改要注意,应当保证修改是必要的,而且修改后应进行基准测试

 

2.变量定义的时候,之前加了句#define debug 来控制某些调试代码的输出

结果在当新填入的类中,也定义了一个变量debug后,出现了如下离奇错误:

1>c:\program files\microsoft speech sdk 5.1\include\spdebug.h(358) : warning C4091: ‘static ‘ : ignored on left of ‘CSpDebug’ when no variable is declared
1>c:\program files\microsoft speech sdk 5.1\include\spdebug.h(359) : error C2059: syntax error : ‘;’

该代码片段为:

inline CSpDebug *PSpDebug()
{
    static CSpDebug debug;
    return &debug;
}

 

结论:变量定义太普遍化,造成重复定义,和冲突,应该设置一个长的名称,如MY_MSE_DEBUG,而且如果当初给debug一个#define debug WERRRRRRRRRRR也能容易的查错。

You Might Also Like