У меня есть-структуру:Как положить инициализированные структуры в структуру?
typedef struct
{
int nNum;
string str;
}KeyPair;
Тогда я инициализировать мой-структуру в нечто вроде этого:
KeyPair keys[] =
{
{0, "tester"},
{2, "yadah"},
{0, "tester"}
};
И все же, скажем, ряд других инициализаций:
KeyPair keysA[] =
{
{0, "tester"},
{2, "yadah"},
{0, "tester"}
};
KeyPair keysB[] =
{
{0, "testeras"},
{2, "yadahsdf"},
{3, "testerasss"}
};
KeyPair OtherkeysA[] =
{
{1, "tester"},
{2, "yadah"},
{3, "tester"}
};
и как еще 20 из них.
Теперь, как мне создать другую структуру и инициализировать ее так, чтобы она содержала эти инициализированные KeyPairs?
Причина этого в том, что я буду повторять вызов функции, параметры которой будут поступать для этих структур. И я не хочу, чтобы сделать это таким образом:
pressKeyPairs(keys, sizeof(keys)/sizeof(keys[0]));
pressKeyPairs(keysA, sizeof(keysA)/sizeof(keysA[0]));
pressKeyPairs(keysB, sizeof(keysB)/sizeof(keysB[0]));
pressKeyPairs(OtherkeysA, sizeof(OtherkeysA)/sizeof(OtherkeysA[0]));
and so on...
Так что я хотел бы просто цикл через структуру, содержащую это inilialized инстанциацию ... пары ключей
ИЛИ Я хотел бы поставить эти инициализированы экземпляры из KeyPairs в вектор и просто цикл через вектор ... Как это сделать?
Что вы хотите сделать? Вы создаете множество массивов 'KeyPair'; вы хотите их конкатенировать? –
Вы пытаетесь сохранить их все в массиве? – Marlon
Если другая структура содержит * указатели * к массивам KeyPair, просто используйте имена указанных выше массивов, которые вы указали как инициализаторы для указателей. Если другая структура фактически * содержит * 'KeyPair', то вы просто используете другой уровень вложенных фигурных скобок в инициализаторе. –