我收到以下问题:
那是工作:

#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让我知道:



到底是怎么回事?

编辑
好的解决方案是使用不带'()'的Qcolor c,但是如果它是类的成员怎么办?然后直接访问仍然不起作用...即:
class X{

QColor c;

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

最佳答案

这个

QColor c();

是一个函数声明。更改为
QColor c;

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

关于c++ - QT-指向QColor的指针可直接访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4359452/

10-12 03:01