我在C中初始化局部变量时遇到了问题。 代码如下:
BOOL IsBitSet(uint32_t BitAddr)
{
uint32_t word, index, mask, word_value;
BOOL retval = FALSE;
word = GetWordValue(BitAddr); // index of the logic word in bits array
index = GetIndex(BitAddr, word); // index of the bit in logic word
mask = (1 << index); // mask for the bit
// get the logic word value
// osOK = 0x0
if(!osMutexWait(m_BitsArrayMutex, 100)){
word_value = (*(m_BitsArray + word));
osMutexRelease(m_BitsArrayMutex);
}
// test the bit
if((word_value & mask) >> index){
retval = TRUE;
}else{
retval = FALSE;
}
return retval;
}
问题是编译器会创建错误消息
错误:&#39; word_value&#39;可以在此功能中使用未初始化的&#34;
我理解这个的原因
错误消息,但我不知道如何解决此问题。我不知道是什么
应该是局部变量word_value
的正确初始化值。
有没有人知道如何妥善解决这个问题?