私が持っているいくつかの 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 番目の引数に値を渡します。私は何が欠けていますか?