Главная страница
    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.47 MB
Время: 0.045 c
1-1107951469
Single
2005-02-09 15:17
2005.02.27
Почемуто все время растет память у процесса .. ?????


1-1108502941
NickKuz
2005-02-16 00:29
2005.02.27
Как преобразовать String в PAnsiChar


1-1108326370
Kubic
2005-02-13 23:26
2005.02.27
ListView


1-1107705137
Jilian
2005-02-06 18:52
2005.02.27
Вопрос по текстовому файлу


1-1108488680
han-bratan
2005-02-15 20:31
2005.02.27
RTTI





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский