QT - указатель на QColor работает без прямого доступа - PullRequest
2 голосов
/ 05 декабря 2010

У меня возникла следующая проблема: Это работа:

#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 получите меня:

запрос начлен 'setRgb' в 'c', который имеет неклассовый тип 'Qcolor ()'

Что происходит?

EDIT OK решение былоиспользуйте Qcolor c без '()', но что если он является членом класса?Тогда прямой доступ все еще не работает ... то есть:

class X{

QColor c;

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

Ответы [ 2 ]

3 голосов
/ 05 декабря 2010

Это

QColor c();

- это объявление функции. Измените его на

QColor c;

Это возможный дубликат сотен подобных вопросов ....

1 голос
/ 05 декабря 2010

Объявить как

QColor c;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...