Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
stan98
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
#1

не видит typedef - C++

17.01.2013, 21:05. Просмотров 349. Ответов 5
Метки нет (Все метки)

вот примерно что в первом - a.h файле
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class a
{
   enum eSomeEnum
   {
      a = 0,
      b,
      //... и так далее
    }
 
    struct sSomeStruct
    {
         int a;
         //... и так далее
    }
 
    typedef std::map<eSomeEnum, eSomeStruct>  tMyMap;
}
C++
1
2
3
4
5
вот что во втором - b.h файле
class b
{
    tMyMap   m_my_map;
}
#include "a.h" - подключается в сpp файле класса b

суть проблемы - class b не понимает что такое tMyMap, однако если перейти go to definition - то переходит правильно

где ошибка и как починить?

заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 21:05     не видит typedef
Посмотрите здесь:

Странности с typedef - C++
В задании нужно определить с помощью typedef массив char.Пишу в header-файле:typedef char masschar;Потом делаю так:masschar cfg;И код...

Оператор typedef - C++
Имеет ли смысл говорить о времени жизни, области видимости и о связывании для типов (НЕ ПЕРЕМЕННЫХ), которые определяются этой директивой?

Typedef и функция - C++
есть такая функция void implicitCurve(const double* x, double* y, double* Df) { // funkcyja f(a,b,c) =...

Пояснение typedef - C++
typedef bool (*comparator)(void* fisrt, void* second); что делает *comparator, и что это вобще ?

Спецификатор typedef - C++
Не могу понять как работает спецификатор typedef... Прочитал про него достаточно инфы и он везде сравнивается с директивой #define с той...

Объявление typedef - C++
Доброго времени суток! Подскажите, что означает структура: typedef int Boolean; Это объявление пользовательского типа?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
17.01.2013, 21:14     не видит typedef #2
Напишите typedef над классом а
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.01.2013, 21:20     не видит typedef #3
C++
1
a::tMyMap m_my_map;
stan98
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
17.01.2013, 21:57  [ТС]     не видит typedef #4
Цитата Сообщение от I.M. Посмотреть сообщение
C++
1
a::tMyMap m_my_map;
так не работает


собираю проект, пробую вынести выше класса структуры и typedef

Добавлено через 4 минуты
вообще какая-то ересь!

вынес определение типа из класса - теперь даже при нависании мышки тип правильно показывает

а все равно error C2146: syntax error : missing ';' before identifier

может я не там ошибку ищу?

Добавлено через 23 минуты
ИТОГ - бубен зазвенел только когда вынес определение и структуры с перечислениями выше класса и в b.h подключил a.h! неведомая магия эта сборка...

всем спасибо

Добавлено через 4 минуты
я еще чуть чуть подумал и появился вопрос -

Может ли быть что из-за использования include guard файл a не подключается к файлу b??
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
17.01.2013, 21:59     не видит typedef #5
Зачем изначально их было в пространство класса засовывать, если они нужны где-то ещё, помимо работы внутри класса?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 22:01     не видит typedef
Еще ссылки по теме:

Improper use of typedef - C++
В структурах : struct ActionController { public : int Signature; int ID; int ndx; int ActionSetsCount; ActionSet *...

Наследование typedef'a - C++
Итак, в некотором классе typedef'ом определен тип: template&lt;typename T&gt; class Shape { public: typedef T sclar; }; ...

Использование typedef - C++
Объясните пожалуйста для чего тут typedef и как pf(j) связан с функцией double Y???????? Программа: #include &lt;iostream&gt; #include...

typedef struct .... - C++
Здравствуейте. Обьясните пожалуйсто новичку что означает этот код. typedef struct { long num_servers; long data_size; char*...

тип typedef - C++
можете кинуть какую нибудь программу с преобразованием типа typedef (С++), очень срочно нужно..

improper use of typedef - C++
Доброго времени суток, проблемка часто с которой сталкиваюсь я в процессе разработки это вызов членов функции т.е из каких то частей...


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

Или воспользуйтесь поиском по форуму:
stan98
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
17.01.2013, 22:01  [ТС]     не видит typedef #6
и может ли как-то влиять порядок подключения инклудов?

Добавлено через 2 минуты
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Зачем изначально их было в пространство класса засовывать, если они нужны где-то ещё, помимо работы внутри класса?
они нужны еще в самом классе,

я схематично изобразил - на самом деле структура больше и много где пришлось править

а вообще этот код не я писал))
Yandex
Объявления
17.01.2013, 22:01     не видит typedef
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru