我遇到了以下问题: 那是工作:
#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);
}
}
答案 0 :(得分:3)
此
QColor c();
是一个函数声明。将其更改为
QColor c;
这可能是数百个类似问题的重复......
答案 1 :(得分:1)
声明如
QColor c;