Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > enum - как параметр ф-ии


Автор: Syrex 19.1.2007, 18:40
1. Есть файл Unic1.cpp - в нем вызывается моя ф-ия
2. Есть файл Unic2.cpp - в нем идет описание ф-ии 
Код

void MyFunc(...)
,
а так же перечисление 
Код

enum MyEnum {Val1, Val2} MyVar;


Как правильно сделать такое:
Код

MyFunc{MyVar=Val1}; //в Unit1.cpp



Автор: Ustus 19.1.2007, 18:55
Не совсем понял смысл записи :
Цитата(Syrex @  19.1.2007,  18:40 Найти цитируемый пост)
MyFunc{MyVar=Val1};

я так понимаю надо что-то вроде:
Код

// Unit1.h
enum MyEnum
  {Val1, Val2};

void MyFunc(MyEnum);

Код

// Unit1.cpp
#include "Unit1.h"

void MyFunc(MyEnum zy)
{
  // do anything...
}

Код

// Unit2.cpp
#include "Unit1.h"

void SomeFunc()
{
  MyFunc(Val1);
}

?

Автор: a_n_d_y 20.1.2007, 02:56
Код

typedef enum MyEnum
  {Val1, Val2};

Автор: Syrex 22.1.2007, 10:28
Вот так работает:
Unit1.cpp
Код

MyFunc(MyEnum);


Unit2.cpp
Код

void MyFunc(MyEnum num)
{
    switch(num)
    {
        case Val1: ShowMessage("Val1"); break;
        case Val2: ShowMessage("Val2"); break;
    }
}


unit2.h
Код

typedef enum MyEnum    {Val1, Val2} num;

void MyFunc(MyEnum);


Только одного не пойму - зачем тут 
Код
 typedef 
??

Автор: Ustus 22.1.2007, 20:22
Я тоже smile
Объявляется тип num как синоним MyEnum. Вобщем, не нужно. Достаточно просто:
Код

enum MyEnum {Val1, Val2};


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)