int* g () {
int j = 2;
return &j;
}
int main () {
using namespace std;
int v = *g();
// assert(v == 2); // Valgrind: Conditional jump or move depends on uninitialised value(s)
}
因此,该断言会导致 Valgrind 错误,但我不太确定该错误意味着什么,以及为什么不允许我在该语句上调用断言。
'v' 在断言之前已经被初始化,那么为什么会导致这个错误呢?
先感谢您。