IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> создание процедуры(функции) типа Inc(n)/inc(n,2)
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


можно ли как-нибудь создать такую проедуру, чтобы в нее можно было отсылать несколько параметров, а в другом случае, напр., только один, а другие она по умолчанию возьмёт?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Этот вопрос уже поднимался. Нет, нельзя (так, как ты это подразумеваешь)... В полной мере это доступно только в 32-битных компиляторах...

В принципе, есть возможность сделать то, что ты хочешь (чтобы можно было вызывать одну и ту же процедуру/функцию, но с разным числом параметров), но вот способ тебе явно не понравится...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


а как тогда это осуществили в Паскале?

Цитата
В принципе, есть возможность сделать то, что ты хочешь (чтобы можно было вызывать одну и ту же процедуру/функцию, но с разным числом параметров), но вот способ тебе явно не понравится...


в целях общего развития напишите пожалуйста
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата(DFooz @ 13.06.2006 13:05) *
а как тогда это осуществили в Паскале?
Все процедуры типа Inc/Dec и Read(Ln)/Write(Ln) на самом деле являются макросами...

Цитата
в целях общего развития напишите пожалуйста
Можно попробовать описать эти 2 разные процедуры в разных модулях (в одном, например, с одним параметром, во втором - с двумя), и подключить оба этих модуля к основной программе.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


Цитата(volvo @ 13.06.2006 14:58) *

Все процедуры типа Inc/Dec и Read(Ln)/Write(Ln) на самом деле являются макросами...

т.е. компилятор считывает, что в скобках, а потом анализирует, 2 там переменных или одна и чего-то запускает? или я фигню какю-то написал...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
компилятор считывает, что в скобках, а потом анализирует, 2 там переменных или одна и чего-то запускает?
Там (вторым параметром) может быть не только переменная, но и константа и выражение...

Но в целом ты прав, именно так и происходит... Только вот имена таких процедур/функций известны компилятору, и ТОЛЬКО с ними производится такая проверка. С другими (подпрограммами пользователя) - производится проверка на соответствие заголовку, и если точного соответствия не найдено - ошибка...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


идею понял, спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 23.10.2017 0:19
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"