2012-05-22 71 views
1

我有一個類型爲QStringList的類成員。我有一個猜測,當這個類被實例化時,nex實例得到這樣一個沒有元素的QStringLsit。我有一個函數應該在用戶交互中填充這個QStringList。但是,我發現調試器在函數調用時不存在類成員。它可能是什麼?有沒有辦法來初始化我可能在這裏丟失的QListString?Qt C++初始化一個QStringList類成員

感謝和問候。

+0

此函數是否爲類成員?你什麼時候打電話?顯示一些代碼。 – jrok

+0

「集體成員不存在」是不可能的。另外,如果你不使用成員的指針(你不應該這樣做),那麼成員將被默認構造,這會導致一個空的QStringList。 –

+0

您能否澄清一下問題並顯示您認爲無法正常工作的代碼? –

回答

1

QStringList應該在創建對象時自動初始化(除非它是一個指針)。我看到調試器行爲的兩種可能的解釋:

  • 您的對象(其中您調用函數)不會在函數調用之前創建;這意味着當輸入函數時this指針無效。如果您在未初始化的指向您班級的指針上調用該函數,可能會出現這種情況。
  • 調試器只是沒有正確顯示QStringList成員。
  • 如果您的成員是QStringList*(指針)類型,它在創建對象時不會自動初始化。然後你需要在構造函數中做list = new QStringList();。但我懷疑你在這裏需要一個指向字符串列表的指針。