Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача структуры как параметр функции 
V
    Опции темы
jhonyxakep
Дата 15.1.2010, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

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



На самом деле вопрос достаточно глупый... 

Юзаю Total Commander авские wcx плагины. Экспорт функции - все как по маслу)

Существует функция OpenArchive (tOpenArchiveData *ArchiveData); где tOpenArchiveData описан как структура 

Код

typedef struct {
    char* ArcName;
    int OpenMode;
    int OpenResult;
    char* CmtBuf;
    int CmtBufSize;
    int CmtSize;
    int CmtState;
 } tOpenArchiveData;


создал подобную сруктуру

Код

struct OPENARC {
    char* ArcName ;
    int OpenMode;
    int OpenResult;
    char* CmtBuf;
    int CmtBufSize;
    int CmtSize;
    int CmtState;
 } ;



и передаю её как параметр функции
Код

OpenArchive(OPENARC);


в результате ошибка 

Цитата

expected primary-expression before ')' token


перерыл все книги для начинающих которые у меня были, но ответа так и не нашелsmile

PM MAIL ICQ   Вверх
azesmcar
Дата 15.1.2010, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(jhonyxakep @  15.1.2010,  09:04 Найти цитируемый пост)
и передаю её как параметр функции

Код

void foo(int a) {
   // ...
}

foo(int); // чувствуется ошибка?


Цитата(jhonyxakep @  15.1.2010,  09:04 Найти цитируемый пост)
создал подобную сруктуру

а это уже другой вопрос, с чего ты взял что если код исправить он будет работать? Это разные структуры, не имеет значение что находиться внутри, с точки зрения компилятора они разные, он что их анализировать должен? И чем тебе не нравиться tOpenArchiveData?

Это сообщение отредактировал(а) azesmcar - 15.1.2010, 09:10
PM   Вверх
artsb
Дата 15.1.2010, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



azesmcar, уже всё сказал. А вы видать хотели так написать:
Код

struct {
    char* ArcName ;
    int OpenMode;
    int OpenResult;
    char* CmtBuf;
    int CmtBufSize;
    int CmtSize;
    int CmtState;
 }  OPENARC;

 smile 

И как сказал azesmcar, наврятли это прокатит, т.к. для компилера это разные структуры.

Это сообщение отредактировал(а) artsb - 15.1.2010, 09:36


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
jhonyxakep
  Дата 15.1.2010, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

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



Цитата(artsb @  15.1.2010,  09:35 Найти цитируемый пост)
И как сказал azesmcar, наврятли это прокатит, т.к. для компилера это разные структуры.


Цитата(azesmcar @  15.1.2010,  09:06 Найти цитируемый пост)
а это уже другой вопрос, с чего ты взял что если код исправить он будет работать? Это разные структуры, не имеет значение что находиться внутри, с точки зрения компилятора они разные, он что их анализировать должен? И чем тебе не нравиться tOpenArchiveData?


smile Хорошо, и как тогда это надо делать?
PM MAIL ICQ   Вверх
azesmcar
Дата 15.1.2010, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(jhonyxakep @  15.1.2010,  10:07 Найти цитируемый пост)
smile Хорошо, и как тогда это надо делать? 

Что? использовать структуру tOpenArchiveData. Она тебе чем-то не нравиться? В крайнем случае можно применить cast.
PM   Вверх
jhonyxakep
Дата 15.1.2010, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

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



Цитата(azesmcar @  15.1.2010,  10:09 Найти цитируемый пост)
Что? использовать структуру tOpenArchiveData. Она тебе чем-то не нравиться? В крайнем случае можно применить cast.


Всмысле вгонять данные прямо в tOpenArchiveData?
PM MAIL ICQ   Вверх
azesmcar
Дата 15.1.2010, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(jhonyxakep @  15.1.2010,  10:10 Найти цитируемый пост)
Всмысле вгонять данные прямо в tOpenArchiveData? 

представь себе да smile
PM   Вверх
jhonyxakep
Дата 15.1.2010, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

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



Цитата(azesmcar @  15.1.2010,  10:17 Найти цитируемый пост)
представь себе да 

Как бы странно оно не звучало... но  smile  А то нифига не понять
PM MAIL ICQ   Вверх
artsb
Дата 15.1.2010, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Код

tOpenArchiveData aa;
// ...
OpenArchive(&aa);


Это сообщение отредактировал(а) artsb - 15.1.2010, 10:31


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

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


 




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


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

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