我使用master在MS VS2010中创建了Qt窗口应用程序,并在我窗口的类的构造函数中放置了一些代码。这是。
MyBug::MyBug(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
QFileDialog fd;
QString StackPath = fd.getExistingDirectory();
std::vector<int> v;
const int N=125000000;
try
{
if (v.max_size()>N)
v.resize(N);
}catch(std::exception &e)
{
QMessageBox msgBox;
msgBox.setText(e.what());
msgBox.exec();
}
}
当我尝试调整数组大小时,我得到了错误的分配异常。显然,我尝试分配的物品少于可能的物品。但是,当分配的次数少于10次时,没有发生任何例外。它还取决于QFileDialog的行为。如果在不选择目录的情况下关闭对话框,则调整大小过程将成功运行。 QFileDialog中是否有错误,为什么我无法调整向量的大小?怎么解决? 我使用的操作系统是Windows 64,Qt版本是4.8.4,VS2010中的目标平台是Win32。