Ken Foskey <foskey@xxxxxxxxxxxxxxxx> writes: > The following code gives me an uninitialised warning on nCol. There is > no possible default clause for this one. > > switch( nXIndex & 3 ) > { > case 0 : > nCol = *pTmp >> 6; > break; > case 1 : > nCol = ( *pTmp >> 4 ) & 0x03 ; > break; > > case 2 : > nCol = ( *pTmp >> 2 ) & 0x03; > break; > case 3 : > nCol = ( *pTmp++ ) & 0x03; > break; > } What version of gcc are you using? I don't get any such warning for this code with gcc 2.95.3, 3.3.3 or 3.4 . I completed it like this: int main() { int nXIndex; int nCol; int Tmp; int *pTmp; switch( nXIndex & 3 ) { case 0 : nCol = *pTmp >> 6; break; case 1 : nCol = ( *pTmp >> 4 ) & 0x03 ; break; case 2 : nCol = ( *pTmp >> 2 ) & 0x03; break; case 3 : nCol = ( *pTmp++ ) & 0x03; break; } Tmp= nCol; }