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

Переопределение размера массива указателей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтение файлов - исправить ошибки в коде http://www.cyberforum.ru/cpp-beginners/thread1241114.html
Добрый день. Возникла проблема, с которой раньше не сталкивался: файл не открывается. Искал с интернете, в учебниках, в предыдущих программах, которые писал - ничего не работает. #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; int _tmain(int argc, _TCHAR* argv) {
C++ Создать класс, в котором можно сохранить любой вызываемый объект или функцию Возникла идея создать класс, в котором можно сохранить любой вызываемый объект или функцию. Что то наподобие std::function, но только не параметризирован, с использованием технологии Type Erasure. Вот такой первый набросок получился (естественно не рабочий):#include <iostream> #include <string> #include <memory> #include <vector> #include <boost/type_traits/function_traits.hpp> class... http://www.cyberforum.ru/cpp-beginners/thread1241101.html
C++ Error LNK2019: ссылка на неразрешенный внешний символ
Здрасте, Потребовалось вызвать dll из другой папки, пришлось переписывать импорт под динамический вызов, но тут полезли ероры. myIDirect3DDevice9.obj : error LNK2001: неразрешенный внешний символ ""public: static int (__cdecl* TwBarFunc::TwWindowSize)(int,int)" (?TwWindowSize@TwBarFunc@@2P6AHHH@ZA)" 1>myIDirect3DDevice9.obj : error LNK2001: неразрешенный внешний символ ""public: static...
Односвязный список: В чём разница между struct и class? C++
После неудач работы с Vector, а так же отсутствия (Хотя, скорее всего, я просто плохо искал) хорошей русской документации по нему, решил запилить свой велосипед с самоваром и тёрками. Список состоит из шаблона класса "заголовка" и шаблона класса элемента. В шаблоне ссылка на первый элемент, размер списка и функции по работе со списком. Основу элемента списка составляет указатель на переменную...
C++ Создание и удаление объекта. Ошибка 134 в Linux http://www.cyberforum.ru/cpp-beginners/thread1241052.html
Имеется следующий класс class BoardView { private: Board *brd; void Show(); public:
C++ Как разделить результат, возвращаемый Multi curl? 1)Я вообще непонимаю зачем нужна функция static int writer(char *data, size_t size, size_t nmemb, string *buffer) как по мне делает какую-то ерунду. 2) На php курл реализован как-то лучше)) так как результат работы курла возвращает функция curl_exec аналог в с++ curl_easy_setopt который возвращает лишь статус(( ну да ладно вопрос в другом, ниже приведён код с использованием мультикурла,... подробнее

Показать сообщение отдельно
WinRar007
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
24.08.2014, 20:55     Переопределение размера массива указателей
Alex5,
Эмм... Мы о разных динамических массивах говорим?
Всё, понял.
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
private:
    DinamicMassive <Body> Bodies;
    int i = 0;
    int i2 = 0;
    void Joints(float T, Body *body1, Body *body2)
    {   
        if (body1 != body2)
        {
            if (body1->Dinamic)
            {
                if (Settings.Gravity)
                {
                    body1->AddForce(GravityJoint(body1, body2));
                }
                if (Settings.Magnet)
                {
                    body1->AddForce(MagnetJoint(body1, body2));
                }
                if (Settings.Elemental)
                {
                    body1->AddForce(ElementJoint(body1, body2));
                }
            }
        }
        body1->CalcVel(T);
    }
Раз хранится мусор, значит его туда записали.
Хорошо. Тогда почему этот код записал мусор (Указатель Obj не указывает на мусор).
C++
1
2
3
4
5
6
7
8
9
10
11
12
void AddToRander(Body *Obj)
    {
        if (Bodies.Seted)
        {
            Bodies.ChangeLenght(Bodies.N + 1);
        }
        else
        {
            Bodies.Seted = true;
        }
        Bodies.Massive[Bodies.N - 1] = Obj;
    }
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
template <class TypeName>
class DinamicMassive
{
public:
    TypeName **Massive;
    int N;
    bool Seted = false;
    DinamicMassive()
    {
        N = 1;
        Massive = new TypeName*[N];
    }
    ~DinamicMassive()
    {
        delete Massive;
    }
    void ChangeLenght(int NewLenght)
    {
        TypeName **Massive2 = new TypeName*[NewLenght];
        int i2 = 0;
        for (int i = 0; i < N; i++)
        {
            if (Massive[i + i2] != 0)
            {
                Massive2[i] = Massive[i + i2];
            }
            else
            {
                i2++;
            }
        }
        N = NewLenght;
        delete Massive;
        Massive = Massive2;
    }
private:
};
Добавлено через 1 минуту
Можно вашу реализацию динамического массива указателей на основе кучи с добавлением и удалением элементов?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru