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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Matlabist
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 102
#1

Создание указателя на объект и выделение памяти - C++

06.02.2011, 08:31. Просмотров 1781. Ответов 3
Метки нет (Все метки)

Не пойму почему при добавлении одного указателя выдает ошибку
Этот код работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class A
{
public:
    class B
    {
    public:
        int x;
        B(int y) {
            x=y;
        };
    };
    B* b1;//,b2;
    A() {
        b1=new B(2);
    };
};
Этот не работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class A
{
public:
    class B
    {
    public:
        int x;
        B(int y) {
            x=y;
        };
    };
    B* b1,b2;
    A() {
        b1=new B(2);
    };
};
error C2512: 'B' : no appropriate default constructor available

Как b2 могло на что-то повлиять?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2011, 08:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создание указателя на объект и выделение памяти (C++):

Выделение памяти для указателя - C++
Помогите пожалуйста разобраться в одном примере: #include "stdafx.h" #include <iostream> using namespace std; int main() { ...

Выделение памяти под новый объект - C++
Люди, посоветуйте, пожайлуста, как в уже созданный массив из N объектов добавить ещё один объект? Преподаватель сказал, что просто надо...

Динамическое выделение памяти под объект - C++
Здравствуйте, меня интересует несколько вопросов по поводу конструкции new. Есть такой код: struct element { std::string...

Влияет ли конструктор на выделение памяти под объект? - C++
Прочёл в книге Р.Лафоре "Объектно-ориентированное программирование в С++:" Подобно конструкторам, деструкторы не возвращают значения и...

Динамическое выделение памяти под объект класса - C++
Помогите динамически выделить память под объект класса.

Как работает динамическое выделение памяти под объект? - C++
class A { public: A(int x){} ~A(){} }; const int n = 50; A* placementMemory = static_cast<A*>(operator new (n *...

3
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
06.02.2011, 08:52 #2
Matlabist, Ну дык b2 тоже должен инициализироваться. Нету ведь конструктора по умолчанию
0
Matlabist
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 102
06.02.2011, 09:01  [ТС] #3
Цитата Сообщение от ForEveR Посмотреть сообщение
Matlabist, Ну дык b2 тоже должен инициализироваться. Нету ведь конструктора по умолчанию
Так тоже выдает ошибку
error C2512: 'B' : no appropriate default constructor available
error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class A::B *' (or there is no acceptable conversion)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class A
{
public:
    class B
    {
    public:
        int x;
        B(int y) {
            x=y;
        };
    };
    B* b1,b2;
    A() {
        b1=new B(2);
        b2=new B(2);
    };
};
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
06.02.2011, 09:10 #4
Matlabist, Так b2 не указатель...

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class A
{
public:
        class B
        {
        public:
                int x;
                B(int y) {
                        x=y;
                };
        };
        B* b1, *b2;
        A() {
                b1=new B(2);
                b2=new B(3);
        };
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2011, 09:10
Привет! Вот еще темы с ответами:

Возврат указателя на локальный объект - C++
Доброго дня! Заинтересовал процесс возврата указателя на локальный объек, а именно: char* fun() { char *ptr1 = "Hello world!"; ...

Удаление указателя на объект класса - C++
Что-то ни как не могу разобраться, где у меня ошибка?! Ниже приведен фрагмент кода: //... shapes *ptr=0; //ptr - указатель базового...

Указатель на объект из указателя на член класса - C++
Что как-то сей вопрос ставит меня в тупик. class A { int i; } obj; int main()

Присвоение переменной поля указателя на объект - C++
Инициализация: Dragons* dragon; for (int i = 0; i <= 99; i++) { dragon = new Dragons(random(50), random(40), 3,8); } ...


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

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

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