我有以下代码片段
fscanf( fSettings, "%s", szLine );
bool x = separateBool ( szLine );
gSettings.useBE = x;
szLine
包含useBE=1
. x
设置为true
VS2010 Pro 手表可以看到。然而,在gSettings.useBE
最后一行赋值后, 的值gSettings.useBE
仍然可见为假!我不知道这是怎么发生的。已安装 VS2010 SP1。非常感谢您的任何意见。
编辑:separateBool 是以下函数:
inline
bool separateBool( const char * szStr )
{
std::vector<std::string> res = split(szStr, '=');
if ( res.size() < 2 )
; /* error */
return (str2int( res[1] ) == 1 );
};
“算法”的玩具版
bool a = false;
bool b = false;
b = separateBool ( szLine );
a = b;
a = separateBool ( szLine );
一切都做对了。