小编Art*_*dov的帖子

如何在C++中找到并避免未初始化的原始成员?

未初始化的原始成员有一个常见的C++错误:

#include <iostream>

class A {
  public:    
    int x;
};

int main() {
  A a;
  std::cout << a.x;
  return 0; 
}
Run Code Online (Sandbox Code Playgroud)

a.x将是未初始化的.我明白为什么会发生这种情况,并希望找到解决此类错误的解决方案.我检查了gcc和cppcheck,他们没有报告这些成员.

编辑 用标志检查gcc-Wall -Wextra -Werror -pedantic -Wold-style-cast -Wconversion -Wsign-conversion -Wunreachable-code

检测到错误的第一个版本的gcc是5.1.g ++ - 4.9没有检测到它,clang ++ - 3.6也失败了.

c++ gcc static-analysis

5
推荐指数
1
解决办法
148
查看次数

标签 统计

c++ ×1

gcc ×1

static-analysis ×1