タイプのクラスメンバーがありQStringListます。このクラスがインスタンス化されると、インスタンスは要素を含まないnexようなものになると推測しました。ユーザー
の操作でこれを埋める関数があります。ただし、関数呼び出し時にクラスメンバーが存在しないことがデバッガーでわかります。それは一体何なのでしょうか?ここで不足している可能性のあるを初期化する方法はありますか?QStringLsitQStringListQListString
7462 次
1 に答える
1
QStringListオブジェクトの作成時に自動的に初期化する必要があります(ポインターでない限り)。デバッガーの動作については、次の 2 つの説明が考えられます。
- オブジェクト(関数を呼び出すオブジェクト)は、関数呼び出しの前に作成されません。
thisこれは、関数が入力されたときにポインターが無効であることを意味します。これは、クラスへの初期化されていないポインターで関数を呼び出す場合に当てはまります。 - デバッガーは
QStringListメンバーを正しく表示しません。 - メンバーが型
QStringList*(ポインター) の場合、オブジェクトの作成時に自動的に初期化されません。list = new QStringList();次に、コンストラクターで行う必要があります。しかし、ここで文字列リストへのポインタが必要になるとは思えません。
于 2012-05-22T11:49:36.503 に答える