QT - 指向QColor的指针不直接访问

时间:2010-12-05 15:20:19

标签: c++ qt

我遇到了以下问题: 那是工作:

#include <QtCore/QCoreApplication>
#include <QColor>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QColor *c = new QColor();
    c->setRgb(12,123,13);
    return a.exec();
}

但这不是:

#include <QtCore/QCoreApplication>
#include <QColor>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QColor c();
    c.setRgb(123,213,2);
    return a.exec();
}

Qtcreator让我:

  

请求'c'中的成员'setRgb'   这是非类型'Qcolor()'

发生了什么事?

修改 好的解决方案是使用没有'()'的Qcolor c,但如果它是类的成员怎么办?然后直接访问仍然无效...即:

class X{

QColor c;

  void func(){
     c.setRgb(1,2,3);
  }
}

2 个答案:

答案 0 :(得分:3)

QColor c();

是一个函数声明。将其更改为

QColor c;

这可能是数百个类似问题的重复......

答案 1 :(得分:1)

声明如

QColor c;