Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2011, 14:51   #1
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию Передача адреса структуры в функцию

Код:
e2d_error FASTCALL; e2d_streamObject_Create(_e2d_streamObject* lpSelfObject) {return 0};
Объясните дебилу

Компилятор пишет "ожидается ')', а встретил '*'". Может мне выспаться стоит?

ЗЫ: Сильно не пинать. Только перехожу на Си.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 08.09.2011, 14:59   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

После FASTCALL у вас идет ";" ?
BOBAH13 вне форума Ответить с цитированием
Старый 08.09.2011, 15:06   #3
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Понел. И удалил соглашение вообще. Но всё по прежнему.

Цитата:
e2d_error e2d_streamObject_Create(_e2d_stream Object* lpSelfObject)
Хотя пишу :

Цитата:
e2d_error e2d_streamObject_Create(int dwValue)
Так всё компилируется.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 08.09.2011, 15:14   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от notHaker Посмотреть сообщение
Понел. И удалил соглашение вообще. Но всё по прежнему.



Хотя пишу :



Так всё компилируется.
Что такое _e2d_streamObject?
BOBAH13 вне форума Ответить с цитированием
Старый 08.09.2011, 15:18   #5
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

На данный момент это :

Код:
typedef struct _e2d_streamObject {
//property
	long	dwHandle;
	long	dwPosition;
	long	dwFileSize;
	char*	lpBuffer;
//methods
};
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 08.09.2011, 15:22   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от notHaker Посмотреть сообщение
На данный момент это :

Код:
typedef struct _e2d_streamObject {
//property
	long	dwHandle;
	long	dwPosition;
	long	dwFileSize;
	char*	lpBuffer;
//methods
};
Ну так вроде все нормально, может где-то скрываются #define? Они такие, трудно сказать исходя из того, что есть.
BOBAH13 вне форума Ответить с цитированием
Старый 08.09.2011, 15:27   #7
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

e2d_error - у этого типа есть оператор для преобразования в int? Преобразовать указатель любого типа в int можно без проблем, но не сам тип данных.
У вас ведь функция возвращает совсем не указатель на e2d_error, а сам экземпляр e2d_error.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 08.09.2011, 15:39   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

e2d_error e2d_streamObject_Create(_e2d_stream Object* lpSelfObject)
это что такое? видимо у вас пробел лишний, вот и ругается

Ivan_32, причем тут преобразование? ну возвращает структуру(а может это просто typedef к целому типу) и пусть возвращает.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 08.09.2011 в 16:07.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.09.2011, 16:40   #9
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

e2d_error :

Код:
typedef long e2d_error;
Цитата:
_e2d_stream Object
В данный момент пробела нет. Я вообще всё почистил и сервано ругается.
Может проблема в компиляторе? Pelles C v6.50.8
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 08.09.2011, 16:47   #10
SnX
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 114
По умолчанию

Код:
{return 0;};
SnX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача структуры в функцию (Си ) Trackman Помощь студентам 0 26.05.2011 11:23
Передача адреса двухмерного массива в функцию. Акоб Общие вопросы C/C++ 8 29.03.2011 14:53
Передача EMail - адреса в GET-запросе InternetStranger PHP 10 01.01.2011 17:14
Вставка в функцию значение из структуры iSky Общие вопросы C/C++ 7 24.10.2010 00:57
Передача массива в функцию Vistar Общие вопросы C/C++ 1 27.04.2009 08:08