Je me suis question suivante: Ce travail est:QT - pointeur vers QColor fonctionne un accès direct ne pas
#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();
}
mais cela ne le font pas:
#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 me chercher:
demande de membre 'setRgb' dans 'c' qui est de type non-classe 'Qcolor()'
Que se passe-t-il?
EDIT OK solution était utiliser Qcolor c sans '()', mais que faire si c'est membre de la classe? Ensuite, un accès direct ne fonctionne toujours pas ... à savoir:
class X{
QColor c;
void func(){
c.setRgb(1,2,3);
}
}
double possible de [Pourquoi est-il une erreur d'utiliser un ensemble vide de crochets pour appeler un constructeur sans argument? ] (http://stackoverflow.com/questions/180172/why-is-it-an-error-to-use-an-empty-set-of-brackets-to-call-a-constructor-with-no) – ybungalobill
Maintenant c'est légal C++. Vos outils peuvent être bugués. Quelle erreur obtenez-vous? – ybungalobill
Mon application a planté ... (il doit être une raison parce que si je change sur c-> setRgb (1,2,3) et Qcolor * c; l'application fonctionne ... –