我有一个结构:
typedef struct
{
Qt::Key qKey;
QString strFormType;
} KeyPair;
现在我初始化KeyPair实例,这样我就可以将其用于我的自动测试应用程序。
KeyPair gTestMenu[] =
{
{ Qt::Key_1 , "MyForm" },
{ Qt::Key_1 , "SubForm" },
{ Qt::Key_Escape, "DesktopForm" }
};
KeyPair gBrowseMenu[] =
{
{ Qt::Key_1 , "MyForm" },
{ Qt::Key_2 , "Dialog" },
{ Qt::Key_Escape, "DesktopForm" }
};
and like 100 more instantiations....
目前,我调用了一个使用这些KeyPairs的函数。
pressKeyPairs( gTestMenu );
pressKeyPairs( gBrowseMenu );
and more calls for the rest...
我想把所有这些KeyPair实例化放在一个向量中,这样我就不必调用pressKeyPairs()一百次了。。。我是使用矢量的新手。。。所以我试着:
std::vector<KeyPair, std::allocator<KeyPair> > vMasterList;
vMasterList.push_back( *gTestMenu );
vMasterList.push_back( *gBrowseMenu );
std::vector<KeyPair, std::allocator<KeyPair> >::iterator iKeys;
for(iKeys = vMasterList.begin(); iKeys != vMasterList.end(); ++iKeys)
{
pressKeyPairs(*iKeys);
}
但是,此代码块不起作用…:(有人能告诉我如何将这些键对正确地放入向量中吗?)?