У меня есть структуру, которая включает в себя многомерный массив, содержащий QString array2D:Задайте значения многомерного массива является членом структуры C++/Qt
/* stat.h */
#include <QString>
struct stat
{
QString name;
QString array2D[2][4];
}
extern struct stat myStat;
/* stat.cpp */
#include <"stat.h">
struct stat myStat = { "Structure 1", { {"one","two","three","four"},{"five","six","seven","eight"} } };
Этот фрагмент кода работает. Тем не менее, структура собирается получить в качестве новых членов более сложные массивы строк, 3 и 5 измерений, с десятками и сотнями элементов. Помещение всего в одну строку будет выглядеть уродливым, поэтому мне нужно найти более разумный способ инициализации, используя некоторую ссылку на массив, а не перечисляя все это. Я пробовал следующий код, но он не работает:
/* stat.cpp */
#include <"stat.h">
QString myArray[2][4] = { {"one","two","three","four"},{"five","six","seven","eight"} };
struct stat myStat = { "Structure 1", myArray}; // BAD!!
struct stat myStat = { "Structure 1", myArray[][]}; // BAD!!
struct stat myStat = { "Structure 1", &myArray}; // BAD!!
Это не сработало:
/* stat.cpp */
#include <"stat.h">
struct stat myStat = { "Structure 1",NULL};
myStat.array2D = { {"one","two","three","four"},{"five","six","seven","eight"} }; // BAD!!
Что обходной путь может быть использован в данном случае?