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

Инициализация вне области видимости - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевод чисел из десятеричных в 16-, 8-ричную систему http://www.cyberforum.ru/cpp-beginners/thread618864.html
Почему не переводит число из десятиричного в другие системы? Компилятор ошибок не находит. #include <iostream> using std::cin; using std::cout; using std::endl; using std::oct; using std::hex; #include <iomanip>
C++ Простые числа исходного одномерного массива Поменять местами максимальный и минимальный элементы среди простых чисел исходного одномерного массива. Результат вывести. помогите написать прогу... Добавлено через 22 минуты Поменять местами максимальный и минимальный элементы среди простых чисел исходного одномерного массива. Результат вывести. #include <iostream> using namespace std; #include <conio.h> #include <stdlib.h> http://www.cyberforum.ru/cpp-beginners/thread618861.html
C++ Тестирование BBS
Всем доброго времени суток! Столкнулся с реализацией генератора псевдослучайных бит Блюма-Блюма-Шуба. Сама генерация вроде без проблем, но в итоге мне нужно еще и протестировать данную реализацию. Думаю что возможно это сделать лишь по скорости...но что именно и как не представляю. Есть у кого-нибудь идеи?
C++ Какой язык программирования лучше использовать?
Здраствуйте, мне нужно написать программу которая сможет выполнять след функции: 1. Собирать информацию с сайта, путем втавления ссылки 2. Анализировать данные с сайта и выделять те данные которые необходимы 3. Необходимые данные конвертировать в необходимый формат и сохранить в файле txt 4. При этом часть данных должно быть изменено, путем использования рандома (из предварительно написанных...
C++ Как сделать ассоциативный массив с указателем на структуру? http://www.cyberforum.ru/cpp-beginners/thread618815.html
У меня этот код не компилируется #include <map> #include <iostream> struct testStruct { testStruct( int initVal ) { N = initVal; }
C++ Судоку Здравствуйте.помогите исправить мой "говно"код.вчера писал все на одном дыхании,хотел побыстрее проверить как сработает поэтому много хлама.Подскажите что лучше использовать а то я новичок в с++. вот код: #ifndef hfdgsfvjh #define hfdgsfvjh #include <iostream> #include <ctime> #include <Windows.h> #include <cstring> подробнее

Показать сообщение отдельно
vvApache
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 121
04.07.2012, 13:26  [ТС]     Инициализация вне области видимости
Цитата Сообщение от DU Посмотреть сообщение
в init_dirs передается неинициализированный указатель. поэтому обращение dirs[i] неверное. чтобы все было хорошо, строчку dir.dirs = new directory[100]; нужно поставить перед вызовом init_dirs.
и вместо голых массивов лучше все таки использовать std::vector<directory> или какой-нибудь другой контейнер.
обращение верное, нули он ставит.
понятное дело, у меня сейчас перед функцией стоит и все работает.
но поскольку я работаю с деревом, неизвестно где и когда мне нужно будет инициализировать новую ветвь.
и поэтому мне нужно передать функции инициализацию, чтобы не было проблем с видимостью.
на данный момент у меня новосозданную ветвь он видит только там, где я её инициализирую с помощью new, при просмотре всего дерева через main, её уже не видно.


Цитата Сообщение от Deviaphan Посмотреть сообщение
Передавай dir, а не dir.dirs. И в функции "проблемные" строчки вызывай.
я думал об этом, но если я делаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
    
    void dir_init(directory *dir)
    {
        dir.dirs = new directory[100];               //подсвечивает dir
 
        for(int i=0; i<100; i++) 
        {
            dir.dirs[i].dirs=NULL;               //подсвечивает dir
            dir.dirs[i].files=NULL;               //подсвечивает dir
        }
    }
ошибка: выражение слева от ".dirs" должно представлять класс, структуру или объединение
 
Текущее время: 05:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru