Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.043 c
4-1105714458
Aleksandr.
2005-01-14 17:54
2005.02.27
Какой LCID надо указать в GetLocaleFormatSettings для Евро?


6-1103107812
Grim
2004-12-15 13:50
2005.02.27
UDP Broadcast и OpenGL: проблемы


1-1108393470
Gost
2005-02-14 18:04
2005.02.27
Как добавить индексное поле AZZ ?


4-1105502141
TankMan
2005-01-12 06:55
2005.02.27
Как определить Vendor-а чипсета материнской платы без WMI?


14-1107415284
Jay1982
2005-02-03 10:21
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский