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