Как создать общую функцию, чтобы принять std :: массив разного размера? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как создать общую функцию, чтобы принять std :: массив разного размера? [закрыто]

Сообщение Anonymous »

Допустим, у меня разные классы, и у каждого класса есть своя собственная переменная заголовка, известная во время компиляции. Я использую Constexpr Std :: Array для этого. И каждый класс имеет переменные данные , которые будут известны во время выполнения. Теперь мне нужно создать общую таблицу классов , которая примет заголовки & data различных классов и создать таблицу UI.
Как я могу написать функцию, которая принимает Std :: массив разного размера? Я использую std :: array , потому что его можно использовать с contexpr
Например,

Код: Выделить всё

using columWidth = int;

class student{
constexpr std::array mHeader=
{
{"Name", 150}, //name column has width 150
{"id", 100}    // id column has width 100
};                 //total 2 columns . so array size is 2.
std::vector data;

};
class teacher{
constexpr std::array mHeader=
{
{"Name", 150},
{"Degree", 100},
{"University", 100},
};
std::vector data;
};

class Table
{
public:
void setHeader(); //this should accept std::array of different size, how ?
void createTable();
void changeTableIndex(int index);
private:
mHeader ; // what should be the type of this header ? and how to receive and store this header ?
}
Я не хочу делать всю таблицу класс как шаблон, потому что в нем также есть и другие функции.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... erent-size
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»