【发布时间】:2011-02-25 11:15:25
【问题描述】:
我只是遇到了问题
error: request for member ‘show’ in ‘myWindow’, which is of non-class type ‘MainGUIWindow()’
当尝试编译一个简单的 qt 应用程序时:
#include <QApplication>
#include "gui/MainGUIWindow.h"
int main( int argc, char** argv )
{
QApplication app( argc, argv );
MainGUIWindow myWindow();
myWindow.show();
return app.exec();
}
我通过替换解决了这个问题
MainGUIWindow myWindow();
通过
MainGUIWindow myWindow;
但我不明白其中的区别。我的问题:有什么区别?
问候, 德克
【问题讨论】:
-
@FredOverflow 这不是那个问题的重复,新的情况与下面的阿门指出的不同。我不知道在某个地方是否存在其他问题,它可能是重复的。
-
在其他人误解之前,这不是重复。标题相似,但问题完全不同。一个是关于 C++ 中不同的初始化规则,另一个是关于为什么用于实例化对象的代码被解析为函数声明。
-
更好地复制,因为这更接近于这个问题:Is no parentheses on a C++ constructor with no arguments a language standard?。这并不是最令人烦恼的解析,它只是一个稍微令人烦恼的解析。
标签: c++ qt most-vexing-parse