-1

私が持っているいくつかの C++ コードで valgrind を実行していますが、初期化されていない値に条件付きジャンプがあるというエラーが表示されます。これは問題のあるコードの一部です。これはメソッドです(静的ではありません)。

if (debug_ & 0x1) {
    printf("Debugging information...\n");
}

ただし、変数debug_はコンストラクターで次のように設定されます。

MyClass::MyClass(
    AnotherClass* interface,
    int debug) :
    debug_(debug)
{
    //Some other irrelevant stuff


}

そしてヘッダーは、そのパラメーターへのデフォルトの引数を定義します。

class MyClass : boost::noncopyable {
  public:
    explicit MyClass(AnotherClass* interface, int debug=0xFF);

  //Other stuff
  private:
    int debug_;
}

しかし、このクラスをインスタンス化するときでも、2 番目の引数に値を渡します。私は何が欠けていますか?

4

1 に答える 1