Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Не подскажите, как переводиться с С++ вот это...   Найти похожие ветки 

 
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 a DWORD 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
1-1107967914
alexa
2005-02-09 19:51
2005.02.27
Динамическое меню


14-1107851672
Ega23
2005-02-08 11:34
2005.02.27
Кто уже получил счёт за "коммуналку"?


6-1103102098
Ramm
2004-12-15 12:14
2005.02.27
Не могу установить компоненту TEmbeddedWB


4-1105617848
MInd_f
2005-01-13 15:04
2005.02.27
RegQueryValueEx


3-1107160314
YK
2005-01-31 11:31
2005.02.27
Добавление, изменение, удаление записей в одной транзакции





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский