Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C++ функция, возвращающая значение в аргументе, не смог сделать для generic (общий) type 
:(
    Опции темы
Nodir
Дата 12.5.2010, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 9.5.2006
Где: Bukhara --> T ashkent --> Seoul

Репутация: нет
Всего: нет



Привет всем!

Мне нужно C++ функция, возвращающая значение в переменной, которая дано в списке его аргументов. Думаю это возможно в C++, но не смог сделать. Ниже код C++, который делает это только для int.

Код

#include "stdafx.h"
int write_item(int &ref_to_item);

int main(int argc, char* argv[])
{
    int item;
    int res = write_item(item);
    printf ("res = %d, item = %d\n", res, (int)item);
    return 0;
}
int write_item(int &ref_to_item)
{
    ref_to_item = 1213;
    return 456;
}

возвращает  ---> res = 456, item = 1213 <---

Как видно, write_item() возвращает значение int (item = 1213) в своей переменной аргумента. Я хочу чтоб такой же механизм работал для общих типов (void *). Я имею в виду, я должен давать переменный (или указатель) общего типа (generic) на write_item() и он должен возвращать мне переменный (или указатель) общего типа в переменом списке его аргументов.

Большое спасибо заранее!
Нодир.
PM MAIL   Вверх
borisbn
Дата 12.5.2010, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: нет
Всего: 135



Код

#include <stdio.h>
template< class returnT, class refT >
returnT write_item( refT & ref_to_item )
{
    ref_to_item = 1213;
    return 456;
}

int main(int argc, char* argv[])
{
    double item;
    int res = write_item<int, double>(item);
    printf ("res = %d, item = %f\n", res, item);
    return 0;
}


void * - это не общий тип, а просто указатель на память, причём в функции неизвестен размер выделенной памяти


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0644 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.