Clang文档页面中的代码片段

时间:2017-12-12 16:51:24

标签: c++ c clang

Clang documentation page中有以下代码的片段:

struct seven_words {
  int c[7];
};

void test() {
  struct seven_words a, *p;
  p = &a;
  p[0] = a;
  p[1] = a;
  p[2] = a; // warn
}

为什么检查器仅在访问p [2]的行处发出警告,而行p[1] = a;上存在分段错误。它是检查者的限制还是有些我不理解的东西?

1 个答案:

答案 0 :(得分:2)

文档不正确。 (或者,如果它正确记录了分析仪的行为,则分析仪存在缺陷,因为它无法检测到明显的问题。)