Форум программистов, компьютерный форум CyberForum.ru

Передача аргументов функции - C++

Восстановить пароль Регистрация
 
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 20:14     Передача аргументов функции #1
Как передать функции переменную неизвестного типа?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
22.05.2012, 20:31     Передача аргументов функции #2
Встречные вопросы: что и каким образом функция будет делать с переменной неизвестного типа? Как может получиться, что при вызове функции неизвестен тип того, что мы ей передаём?
Рекомендуемые для изучения темы: справка по эллипсису (троеточие) и vararg/stdarg (на этих вещах работают printf и scanf, но этот способ далёк от совершенства), виртуальные функции, шаблоны функций, шаблоны с переменным числом параметров.
Неплохо бы услышать более подробно о том, какого эффекта и с какой целью хочется достичь.
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 20:38  [ТС]     Передача аргументов функции #3
Nick Alte, про троеточие знаю, но там без типа никак. а функция:

C++
1
2
3
4
5
6
void fff(SOMETYPE var)
{
    void *p;
    p = new void [10];
    p[1] = (void)var;
}
как-то так
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
22.05.2012, 20:54     Передача аргументов функции #4
Лучше объяснить словами, а не нелегальным кодом, который не имеет смысла в рамках языка и до подтекста которого надо пробираться сквозь смутные догадки. Что за информация может содержаться в аргументе? Что функция будет делать с этой информацией, не зная ни её состава, ни даже размера? Что функция вообще должна сделать? Почему возникла необходимость в использовании "неизвестного типа"?
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 20:58  [ТС]     Передача аргументов функции #5
Nick Alte, собственно вопрос я уже решил. Чуть было не занялся изобретением велосипеда (vector) =)

а по теме:

я хотел создать класс massive, который выполнял бы функции динамического массива для любого типа данных. Планировал приводить все типы к void
Yandex
Объявления
22.05.2012, 20:58     Передача аргументов функции
Ответ Создать тему
Опции темы

Текущее время: 03:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru