Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.07.2018
Сообщений: 21
1

Как создать переменную типа переменной enum класса?

12.10.2022, 01:11. Показов 542. Ответов 2

Author24 — интернет-сервис помощи студентам
Доброго всем времени суток, столкнулся с ошибкой:
[bcc32c Error] Item.h(16): expected member name or ';' after declaration specifiers

Есть класс Coltype с переменной TYPE типа enum
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class ColType{
    public: enum TYPE
    {
        JET_coltypNil = 0,              //null
        JET_coltypBit = 1,              //boolean
        JET_coltypUnsignedByte = 2,     //byte
        JET_coltypShort = 3,            //short
        JET_coltypLong = 4,             //integer
        JET_coltypCurrency = 5,         //Currency (64-bit)
        JET_coltypIEEESingle = 6,       //float
        JET_coltypIEEEDouble = 7,       //double
        JET_coltypDateTime = 8,         //time
        JET_coltypBinary = 9,           //binary
        JET_coltypText = 10,            //text
        JET_coltypLongBinary = 11,      //long binary
        JET_coltypLongText = 12,        //long text
        JET_coltypSLV = 13,             //long value
        JET_coltypUnsignedLong = 14,    //unsigned integer
        JET_coltypLongLong = 15,        //long long
        JET_coltypGUID = 16,            //text
        JET_coltypUnsignedShort = 17,   //unsigned short
        UNKNOWN_TYPE = -1               //unknown type
    };
    int test;
 
};
И класс в котором выходит ошибка, как правильно задать переменную type типа переменной Type класса Coltype?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "Coltype.h"
class Item {
    private: int offset;
             int size;
             int id;
             int maxLength;
 
    private: String columnName;
       --->  ColType.Type type;
             byte taggedDataItemFlag;
             HexReader hexReader;
             String UTCAddHour;
             String UTCAddMinute;
             bool isWin10;
};
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2022, 01:11
Ответы с готовыми решениями:

Как присвоить переменной своего класса переменную встроенного типа
Подскажите пожалуйста?!Как присвоить переменной своего класса переменную встроенного класса? ...

Как создать переменную с названием, как значение другой переменной типа string?
private string a = "name"; private string (и здесь мне нужно чтобы массив имел название равное...

Создать переменную типа, хранящегося в переменной типа Type
Здравствуйте. Гугл не помог, потому обращаюсь за помощью к вам. Пишу загрузку (не важно чего) из...

Как создать переменную типа int исспользуя в качестве имени значение строковой переменной.
есть переменная типа string в которой допустим хранится значение: "file001" как объявить\создать...

Сохранение адреса переменной пользовательского класса в переменную типа int или double
Здравствуйте. Подскажите, возможно ли это: есть переменная пользовательского класса. Я хочу...

2
Модератор
5050 / 3279 / 528
Регистрация: 01.06.2013
Сообщений: 6,809
Записей в блоге: 9
12.10.2022, 01:24 2
C++
1
ColType::TYPE type;
1
фрилансер
5553 / 5139 / 1058
Регистрация: 11.10.2019
Сообщений: 13,492
12.10.2022, 10:23 3
Лучший ответ Сообщение было отмечено Tr4um как решение

Решение

Tr4um, лучше использовать enum class

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class ColType
{
    public:
    
    enum class colname
    {
        pNil = 0,              //null
        pBit = 1,              //boolean
        pUnsignedByte = 2,     //byte
        pShort = 3,            //short
        pLong = 4,             //integer
        pCurrency = 5,         //Currency (64-bit)
        pIEEESingle = 6,       //float
        pIEEEDouble = 7,       //double
        pDateTime = 8,         //time
        pBinary = 9,           //binary
        pText = 10,            //text
        pLongBinary = 11,      //long binary
        pLongText = 12,        //long text
        pSLV = 13,             //long value
        pUnsignedLong = 14,    //unsigned integer
        pLongLong = 15,        //long long
        pGUID = 16,            //text
        pUnsignedShort = 17,   //unsigned short
        UNKNOWN_TYPE = -1               //unknown type
    };
    int test{};
};
 
class Item
{
    ColType::colname type{};
};
Добавлено через 2 минуты
даже так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Item
{
    enum class e_colname
    {
        pNil = 0,              //null
        pBit = 1,              //boolean
        pUnsignedByte = 2,     //byte
        pShort = 3,            //short
        pLong = 4,             //integer
        pCurrency = 5,         //Currency (64-bit)
        pIEEESingle = 6,       //float
        pIEEEDouble = 7,       //double
        pDateTime = 8,         //time
        pBinary = 9,           //binary
        pText = 10,            //text
        pLongBinary = 11,      //long binary
        pLongText = 12,        //long text
        pSLV = 13,             //long value
        pUnsignedLong = 14,    //unsigned integer
        pLongLong = 15,        //long long
        pGUID = 16,            //text
        pUnsignedShort = 17,   //unsigned short
        UNKNOWN_TYPE = -1               //unknown type
    };
    
    e_colname m_colname{};
};
Добавлено через 2 часа 36 минут
добавил инициализацию
1
12.10.2022, 10:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2022, 10:23
Помогаю со студенческими работами здесь

Как поместить свойство класса типа Enum в конструктор
Привет, создал интерфейс: interface IPerson { string Firstname { get; } ...

Как сравнить переменную типа String с переменной типа Int?
Как сравнить переменную типа String с переменной типа Int в конструкции "if"???

Как сделать явное приведения переменной типа класса-наследника к типу базового класса?
Читал, что для этого нужно явное приведение к типу, но на практике выдаёт ошибку. Вот код: using...

Создать объект, взяв имя его класса из переменной типа String?
Привет всем! Братцы, подскажите, ато у самого не получается... Есть ParentClass и несколько...

Сформировать в переменной B типа Integer переменную А, прочитанную как число
Сформировать случайным образом переменную A типа String, состоящую из 8 цифр. Сформировать в...

Можно ли удалить из переменной типа enum одно из значений?
Можно ли удалить из переменной типа enum одно из значений? допустим, так название_перечесления...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru