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

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

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

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

17.01.2013, 21:05. Просмотров 361. Ответов 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 - то переходит правильно

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

заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 21:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не видит typedef (C++):

typedef в c++ - C++
Здравствуйте! Нужно собрать полную информацию по оператору typedef в c++. Пока нашел, что typedef используется для задания новых...

Typedef - C++
Доброго времени суток. Привожу вам отрывок из книги &quot;C и Visual C++ 2008 для начинающих&quot;. В книге приведен пример объявления структуры с...

Typedef - C++
Наткнулся на пример ниже: typedef char *cstring; //Каков тип переменной cstr в следующем объявлении: const cstring cstr; ...

typedef - C++
double f(double x){ } typedef double (*TPF)(double); TPF fff = f; fff(10.0); как и почему это работает корректно, если в...

typedef - C++
Сталкнулся с таким объвлением typedef __mpz_struct mpz_t; Не могу врубится что оно значит? ...

typedef - C++
Доброго времени суток, уважаемые программисты! Не могу понять несколько строк из примера учебника Дейтела. С первой строкой все понятно,...

5
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
17.01.2013, 21:14 #2
Напишите typedef над классом а
1
I.M.
565 / 548 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
17.01.2013, 21:20 #3
C++
1
a::tMyMap m_my_map;
1
stan98
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
17.01.2013, 21:57  [ТС] #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??
0
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1
17.01.2013, 21:59 #5
Зачем изначально их было в пространство класса засовывать, если они нужны где-то ещё, помимо работы внутри класса?
0
stan98
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 24
17.01.2013, 22:01  [ТС] #6
и может ли как-то влиять порядок подключения инклудов?

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

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

а вообще этот код не я писал))
0
17.01.2013, 22:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 22:01
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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