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

Field `.` has incomplete type boost::weak_ptr

15.12.2014, 10:29. Показов 2444. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Интересует вопрос: если член класса имеет тип weak_ptr, то требуется определение класса, а "forward-ного" объявления недостаточно?

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef SUBJECT_HXX
#define SUBJECT_HXX
 
#include <string>
#include <boost/date_time.hpp>
#include <iostream>
 
namespace TimeTableCore {
    class Group;
    class Lecturer;
 
    class baseSubject {
        std::string name;
        boost::weak_ptr<Group> group;       // <--тут ошибка
        boost::weak_ptr<Lecturer> lecturer; // <--тут ошибка
        boost::gregorian::date deadline;
    public:
 
        baseSubject(const std::string& nname)
        : name(nname) { }
 
        virtual ~baseSubject() = 0;
 
        virtual void Info() const;
        const std::string& Name() const { return name; } //INLINE
    };
 
    //classes-parameters
 
    struct Ex {
        static const int freeDays = 2;
    };
 
    struct Cr {
    };
 
    struct NoAdd {
        static const int freeDays = 0;
    };
 
    struct StateEx {
        static const int freeDays = 5;
    };
 
    struct StateFinalEx {
        static const int freeDays = 2;
    };
 
    struct NoLabs {
    };
 
    struct Labs {
        boost::weak_ptr<Lecturer> secondLecturer; // <--тут ошибка
    };
 
}
#endif
Вывод gcc:
Кликните здесь для просмотра всего текста
In file included from TSubject.hxx:4:0,
from LoadData.hpp:12,
from LoadData.cpp:2:
Subject.hxx:14:26: error: field ‘group’ has incomplete type ‘boost::weak_ptr<TimeTableCore::Group>’
boost::weak_ptr<Group> group;
^
Subject.hxx:15:29: error: field ‘lecturer’ has incomplete type ‘boost::weak_ptr<TimeTableCore::Lecturer>’
boost::weak_ptr<Lecturer> lecturer;
^
Subject.hxx:53:29: error: field ‘secondLecturer’ has incomplete type ‘boost::weak_ptr<TimeTableCore::Lecturer>’
boost::weak_ptr<Lecturer> secondLecturer;
^


Вывод clang:
Кликните здесь для просмотра всего текста
In file included from LoadData.cpp:2:
In file included from ./LoadData.hpp:12:
In file included from ./TSubject.hxx:4:
./Subject.hxx:14:26: error: implicit instantiation of undefined template 'boost::weak_ptr<TimeTableCore::Group>'
boost::weak_ptr<Group> group;
^
/usr/include/boost/smart_ptr/shared_ptr.hpp:723:36: note: template is declared here
template<class Y> friend class weak_ptr;
^
In file included from LoadData.cpp:2:
In file included from ./LoadData.hpp:12:
In file included from ./TSubject.hxx:4:
./Subject.hxx:15:29: error: implicit instantiation of undefined template 'boost::weak_ptr<TimeTableCore::Lecturer>'
boost::weak_ptr<Lecturer> lecturer;
^
/usr/include/boost/smart_ptr/shared_ptr.hpp:723:36: note: template is declared here
template<class Y> friend class weak_ptr;
^
In file included from LoadData.cpp:2:
In file included from ./LoadData.hpp:12:
In file included from ./TSubject.hxx:4:
./Subject.hxx:53:29: error: implicit instantiation of undefined template 'boost::weak_ptr<TimeTableCore::Lecturer>'
boost::weak_ptr<Lecturer> secondLecturer;
^
/usr/include/boost/smart_ptr/shared_ptr.hpp:723:36: note: template is declared here
template<class Y> friend class weak_ptr;
^
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2014, 10:29
Ответы с готовыми решениями:

Реализовать класс Node ([Error] field 'next' has incomplete type 'Node')
#include &lt;iostream&gt; using namespace std; class Node { private: int value; Node next; ...

Incomplete type used in nested type specifier - Итерация по списку аргументов
Здравствуйте! Пытаюсь написать утилитарную структуру для применения шаблонной функции на списке...

Field 'settings' has incomplete type 'ColorSettings'
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent),ui(new Ui::MainWindow) { ...

Error: array type has incomplete element type
в функции выдает ошибку \arifm.c|4|error: array type has incomplete element type| подправьте...

2
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
15.12.2014, 10:51 2
boost/weak_ptr.hpp подключен?
1
13 / 13 / 7
Регистрация: 21.04.2013
Сообщений: 245
15.12.2014, 12:33  [ТС] 3
DiffEreD, ))
0
15.12.2014, 12:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2014, 12:33
Помогаю со студенческими работами здесь

lookup information for field is incomplete
Собственно ошибка - lookup information for field is incomplete, при создании подстановочного поля....

Lookup поле - information for field is incomplete
Есть две таблицы. Access. ID_Vakans Dolgnost - Внешний ключ Kol_mest ID_dolgnost...

Incomplete type
Доброго времени суток, есть такая ситуация: class B; class A { B b; }; class B

Invalid use of incomplete type
Пишу программу визуализатор. Суть в том что на вход подается числовая информация, которая...


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

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