【问题标题】:Qt C++ initialize a QStringList class memberQt C++初始化一个QStringList类成员
【发布时间】:2012-05-22 11:41:56
【问题描述】:

我有一个QStringList 类型的班级成员。我猜想当这个类被实例化时,nex 实例会得到这样一个QStringLsit,其中没有任何元素。
我有一个函数应该在用户交互时填写这个QStringList。但是,我在调试器中看到函数调用时类成员不存在。这可能是什么?有没有办法初始化我可能在这里丢失的QListString

【问题讨论】:

  • 这个函数是类成员吗?你什么时候打电话?显示一些代码。
  • “类成员不存在”是不可能的。此外,如果你不使用成员的指针(你不应该),成员将被默认构造,这会导致一个空的 QStringList。
  • 您能否澄清问题并显示您认为无法正常工作的代码?

标签: c++ qt qstring


【解决方案1】:

QStringList 应该在创建对象时自动初始化(除非它是指针)。对于调试器的行为,我看到了两种可能的解释:

  • 您的对象(您调用函数的对象)在函数调用之前没有被创建;这意味着当输入函数时this 指针无效。如果您在指向您的类的未初始化指针上调用函数,则可能会出现这种情况。
  • 调试器只是没有正确显示QStringList 成员。
  • 如果您的成员是QStringList*(指针)类型,它不会在对象创建时自动初始化。然后你需要在构造函数中做list = new QStringList();。但我怀疑您是否需要一个指向字符串列表的指针。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多