Форум: "Потрепаться";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
ВнизНе подскажите, как переводиться с С++ вот это... Найти похожие ветки
← →
Cosinus © (2005-02-09 11:05) [0]
_GetNumDevices(&dwNumDevices);
Интересует знак& перед переменной.
← →
VictorT © (2005-02-09 11:12) [1]Значит, что функция может вернуть значение в аргумент.
← →
uw © (2005-02-09 11:20) [2]Это вызов функции, при этом передается адрес переменной dwNumDevices.
← →
wal © (2005-02-09 11:32) [3]Передача ссылки.
Для делфи в декларации процедуры этот параметр указываешь как var, а при вызове просто (dwNumDevices).
С уважением.
← →
Romkin © (2005-02-09 11:32) [4]Передача по ссылке :) Фактический аналог - var-параметры в Паскале
← →
KSergey © (2005-02-09 12:45) [5]Эта, люди...
Я вот читаю ваши ответы - и что-то не догоняю...
Все ответили разное. Где-то из одной оперы "вообще", но никак не на конкретный вопрос.
По-моему, правильно - лишь
> [2] uw © (09.02.05 11:20)
> Это вызов функции, при этом передается адрес переменной
> dwNumDevices.
Ведь написан именно вызов функции, но явно не прототип (нет типа). А потому говорить про var - не корректно. Ну только как общая аналогия, не имеющая ничего общего с конкретным случаем. Передается просто указатель на переменную, вот и все...
← →
uw © (2005-02-09 12:59) [6]wal © (09.02.05 11:32) [3]
Romkin © (09.02.05 11:32) [4]
То, о чем вы говорите, в С++ выглядит так:
void _GetNumDevices(int & aNumDevices);
А вызывается так:
_GetNumDevices(dwNumDevices);
Это действительно фактический аналог var-параметра.
← →
Romkin © (2005-02-09 13:04) [7]А, так? Сенькс. Значит, данный случай - аналог @ :))
_GetNumDevices(NumDevices: pointer); - типизованный, скорее всего PInteger
_GetNumDevices(@dwNumDevices);
Так? :)
← →
uw © (2005-02-09 13:06) [8]Да, у Cosinus © декларация примерно такая:
void _GetNumDevices(int * aNumDevices);
т.е. параметр - указатель.
← →
Cosinus © (2005-02-09 13:43) [9]Всем спасибо :)
> Romkin © (09.02.05 13:04) [7]
PDWord ;)
← →
07BB:080Dh (2005-02-09 13:56) [10]Romkin © (09.02.05 13:04) [7]
GetNumDevices(var NumDevices: pointer);
_GetNumDevices(void* &wNumDevices);
← →
марсианин © (2005-02-09 14:34) [11]
> void _GetNumDevices(int * aNumDevices);
_GetNumDevices(PDWORD dwNumDevices);
что эквивалентно
_GetNumDevices(unsigned * dwNumDevices);
по поводу возвращаемого типа однозначно ничего сказать нельзя..
← →
Cosinus © (2005-02-09 15:20) [12]Если кому интересно, нашел описание на нее. Спорам конец :)))
_GetNumDevices
Description: This function returns the number of connected to the host.
Prototype:_Status _GetNumDevices(LPDWORD NumDevices)
Parameters:NumDevices
-Address of aDWORD
variable that will contain the number of devices connected on return.
Return Value:DWORD
← →
Romkin © (2005-02-09 16:46) [13]В переводе, значит,
function _GetNumDevices(NumDevices: PDWORD): DWORD; stdcall;
Кстати, function _GetNumDevices(var NumDevices: DWORD): DWORD; stdcall; тоже проглотит и не поморщится :)) Вот только stdcall али cdecl?
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c