otsu.cpp:220: warning: ‘x’ may be used uninitialized in this function
然而,当我不使用优化并使用调试标志-g时,我根本没有收到任何警告。现在,当-g标志打开时,我更信任编译器;然而,我想知道这是否是应该预期的良好定义行为?
为了清晰起见,导致此问题的代码大致如下:
int x; //uninitialized
getAValueForX( &x ); // function makes use of x,
// but x is unitialized
where
void getAValueForX( int *x )
{
*x = 4;
}
或者类似的东西,显然更加复杂。