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也能容易的查错。