Создание индивидуальной структуры кортежа в C ++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Создание индивидуальной структуры кортежа в C ++

Сообщение Anonymous »

Я хочу сделать пользовательскую структуру для корпусов, используя складные выражения, делая рекурсивную структуру
Я хотел бы, чтобы кортеж имел индексированный доступ к его элементам и конструктору, чтобы поставить элементы
Я временно выполняю функцию, называемую () , чтобы поставить элементы в Tuple. get_element () функция, которую я реализую позже, но могу обновить пост, если мне нужна помощь в этом и Aswell
Как я хочу, чтобы он работал:
tuple name(2, 0.76, "apple");
int some_index = 2;
auto some_element = name.get_element(some_index); // returns "apple"
< /code>
Это весь код: < /p>
template
struct tuple
{

element fold_element;
int index;
tuple* next_fold_element;
tuple(){};
void fill(int size, int new_index, element new_fold_element, pack... new_fold)
{
fold_element = new_fold_element;
index = new_index;

if (index < sizeof..(new_fold))
next_fold_element->fill(size,index+1,new_fold...);

};
};

int main()
{
tuple yo;
yo.fill(0, 1, 2, 3, 4);

}
< /code>
Это дает эту ошибку: < /p>
'tuple :: fill': функция не принимает 5 аргументов < /p>
Я угадываю, что происходит, что его использование и того же шаблона, как и первая таблица < /p> , но из -за того, как рекордстная функция, так и из -за того, что рекордстная функция, так и из -за того, что рекордстная функция, так что это так, что это так, что -то, что он использует, так и из -за того, что рекордная функция, так и из -за того, что рекордная функция, так и из -за того, что рекордная функция, так и из -за того, что рекордная функция, так и из -за того, что рекордстная функция, так и из -за этого, рекордной функции. Один меньше аргумента на итерацию, но из кода, который я написал, компилятор выводит аргументы функций всегда быть начальной суммой аргумента.
Я не знаю, как решить эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/797 ... truct-in-c
Ответить

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

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

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

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

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