Как сделать динамический двумерный массив? То есть массив, обе размерности которого будут изменяться динамически. - страница 2

 
Seric29:

Может ли функция принимать разные структуры но похожего типа, имеется в виду объявить 2 структуры у каждой структуры по 2 массива функция примет любую из структур или это невозможно также возникает вопрос с типами данных шаблоны тут уже не помогут?

Описание структуры, типа такого:

struct SS{
   double s[];
}

Это подобно создание переменой своего типа, так же как int, double и т.п. Прежде чем пользоваться переменной собственного типа, нужно ее объявить, как и с обычной переменной:

SS a;

Модно сколько угодно переменных объявить:

SS b,c,d;
SS e,f,g;

Главное, что они одного типа.

Параметры функции определяются типом, в частности сейчас нужна функция принимающая тип SS. Вот так:

void fun(SS & arg){

}

В эту функцию можно передать любую переменную типа SS: a,b,c,d,e,f и т.д.

Если вам нужна еще одна структура, точно такая же, как уже описанная ранее, не нужно делать ее описание, объявите переменную типа SS.

---

Другое дело, если все таки в функцию надо передавать переменные (структуры) разного типа. Это тоже возможно в какой-то мере. Все эти структуры должны иметь одну и ту же базовую структуру, в переменная функции должна иметь тип как у базовой структуры. Тут есть нюанс, если дочерняя структура будет иметь свои уникальные поля и методы, доступ к ним будет усложнен.

Причина обращения: