Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Описание класса определённого типа Доброго времени суток!!! Могули я описать класс определённого типа данных, например чтобы потом была возможна конструкция: MyClass object; int a = 1; object = a; Заранее спасибо!!! https://www.cyberforum.ru/ cpp-beginners/ thread106652.html C++ Найти максимальный элемент в главной диагонали матрицы и поменять местами соответствующие ему строку и столбец
помогите решить,пожалуйста... _________________________ дана действительная квадратная матрица С(n,n). найти максимальный элемент в главной диагонали и поменять местами соответствующие ему строку и столбец ______________________ заранее спасибо большое
C++ Функция fopen возвращает нулевой указатель (Visual Studio) https://www.cyberforum.ru/ cpp-beginners/ thread106641.html
Здраствуйте) У меня возникла очень странная проблема.просто мистика. С чем может быть связано возвращение нулевого указателя в функции fopen.? Я пишу в винАПИ.По пока с новыми функциями не разобрался(для работы с файлами) Вот.И тут такое.Путь задан жестко.НО!она открывает его ИНОГДА, а чаще всего НУЛЛ возвращяет.Путь правильный.Потому,что по тому же пути из этого же фаила считывает инфу...
C++ найти max и min по длине слово такая задача. помогите плиз _______________________________ дана строка символов. найти в ней max и min по длине слово и заменить их на подстроки "max" и "min" соответственно, при необходимости сдвинув символы ___ заранее спасибо https://www.cyberforum.ru/ cpp-beginners/ thread106640.html
Передача файлового потока в функцию C++
Здрасти. ifstream in("1.txt"); что возвращает in? как передать этот поток (in) в функцию которая выводит символы? void readFile( ???????????? ){ char ch; while (in){
C++ В каждой строке двухмерного массива определить наибольший элемент и подсчитать сумму этих максимальных элементов https://www.cyberforum.ru/ cpp-beginners/ thread106629.html
В каждой строке двухмерного массива определить наибольший элемент и подсчитать сумму этих максимальных элементов.
C++ Проверка баланса фигурных скобок абстрактным стеком (реализованным в виде связного списка) вот собственно задание: задан текст, содержащий три типа скобок - (), {}, . Программа должна проверить правильность расстановки скобок в тексте, а также, не нарушены ли правила вложенности скобок....:gsad: https://www.cyberforum.ru/ cpp-beginners/ thread106622.html прога на С++,связанная с файлами C++
Напишите программу, которая считывает произвольный текстовый файл, содержащий длинные строки и копирует его содержимое в новый файл, при этом разбив длинные строки таким образом, чтобы длина результирующих строк не превышала 80 символов. При этом нельзя разбивать целое слово на части. Если встречается слово, состоящее более чем из 80 символов, его нужно вывести на отдельной строке не разбивая на...
C++ программа на С++ https://www.cyberforum.ru/ cpp-beginners/ thread106617.html
Напишите программу, которая считывает произвольный текстовый файл и создает новый файл, в который записывает считанные из входного файла строки в алфавитном порядке. Имя входного и результирующего файла передается в программу через командную строку. Заранее большое спасибо
C++ Структуры. https://www.cyberforum.ru/ cpp-beginners/ thread106557.html
Необходимо написать программу (помогите пожалуйста): Сформировать массив, содержащий информацию о туристских поездках. Структурный тип содержит поля: название тура, необходима ли виза, це-на, длительность пребывания, категория отеля, есть ли море, предусмот-рены ли экскурсии. Написать программу, которая выводит информацию о турах в соответствии с требованиями: - безвизовый тур с возможностью...
C++ Поиск в массиве
Надо найти в массисе чисел со значениями от 0 до 255 повторяющиеся ровно два раза числа. Второй день туплю не могу написать 100% правильно работающую функцию=)
C++ Установка курсора Пожалуйста подскажите как перевести курсор ввода(консольный режим) в заданную позицию на С++ https://www.cyberforum.ru/ cpp-beginners/ thread106528.html
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
0

Странный SIGSEGV, или что зависит от порядка написания интерфейса класса - C++ - Ответ 609846

19.03.2010, 23:04. Показов 3531. Ответов 10
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Есть некий класс,и в нем в секции private записано следующее:
C++
1
2
3
4
5
6
7
8
       private:
           Value *val;
           Types var_type;
           bool is_initialized;
           bool is_shared;
           string var_name;
           var_Arr_t *page; // In which page variable located.
       public:
Я не знаю,важно ли это,но в конструкторах это:
конструкторы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  Variable::Variable (const string name):val(NULL)
  {
     var_name = name;
     is_initialized = false;// The default
     is_shared      = false;// The default
  }
/* -------------------------------------------------------------------------- */
  Variable::Variable (const string name,Types type):val(NULL)
  {
     var_name = name;
     var_type = type;
     is_initialized = false;// The default
     is_shared      = false;// The default
  }
/* -------------------------------------------------------------------------- */
  Variable::Variable (const string name,Value *value)
  {
     var_name = name;
     val = value;
     is_initialized = false;// The default
     is_shared      = false;// The default
  }

И всё работает. Но если поменять так:
C++
1
2
3
4
5
6
7
8
       private:
           Value *val;
           bool is_initialized;
           bool is_shared;
           string var_name;
           Types var_type;
           var_Arr_t *page; // In which page variable located.
       public:
,то есть просто передвинуть переменную enum Types var_type; немного вниз,больше ничего не трогая,и перекомпилировать прогу,а потом запустить,то программа вылетает с Segmentation fault.
Для справки скажу,что я обнаружил это странное поведение,когда пытался сделать конструкторы со значениями по умолчанию так:
C++
1
2
3
4
5
6
7
/* -------------------------------------------------------------------------- */
  Variable::Variable (const string name):val(NULL),var_name(name),
     is_initialized(false),// The default
     is_shared(false)// The default
  {
 
  }
на что получил странные предупреждения от gcc:
Код
/home/user/Interpreter/Interpreter/intermediate/variable.h||In constructor ‘Variable::Variable(std::string)’:|
/home/user/Interpreter/Interpreter/intermediate/variable.h|52|warning: ‘Variable::var_name’ will be initialized after|
/home/user/Interpreter/Interpreter/intermediate/variable.h|50|warning:   ‘bool Variable::is_initialized’|
/home/user/Interpreter/Interpreter/intermediate/variable.cpp|42|warning:   when initialized here|
||=== Build finished: 0 errors, 3 warnings ===|
- поменял в интерфейсе их местами - предупреждения пропали. Потом передвинул enum Types var_type; - появился Segfault.
Хотя бы теоретически,отчего такое может быть? Есть ли какие-то ограничения при работе с контейнерами,указателями и памятью на порядок переменных в интерфейсе класса?

Вернуться к обсуждению:
Странный SIGSEGV, или что зависит от порядка написания интерфейса класса C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2010, 23:04
Готовые ответы и решения:

Что лучше для написания графического интерфейса: C++ или C#?
Здравствуйте! Ребят подскажите пожалуйста. Я новичек в программировании, сначала писал консольные...

Что выбрать для написания графического интерфейса( Qt или Visual Studio)?
У меня win 7 64. Добавлено через 4 минуты Я имею ввиду что проще и легче. Я начинающий и не...

Ссылка типа интерфейса или класса
Привет. Разбираю пример. Там объявлена ссылка такая: LoginPresenter loginpresenter....

Невозможно создать экземпляр абстрактного класса или интерфейса
using System.Windows.Media.Imaging; using System.Drawing; Есть эти две библиотеки, нужно...

10
19.03.2010, 23:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2010, 23:04
Помогаю со студенческими работами здесь

Странный баг или я что то не понимаю
Добрый вечер / день. Столкнулся в непонятным, только с утра всё отлично компилировало код. ...

Что лучше для написания бота? C# или Python?
Доброго времени суток, что лучше выбрать для vk бота? Нужно учитывать, что бот будет очень часто...

Что лучьше для написания WEB-страниц под JBoss, JSP или Java?
Мне необходимо создать несколько разделов для сайта на движке Liferay (Liferay.com) который...

Недопустимая лексема "=" в объявлении класса, структуры или интерфейса
public bool FirstRun { get; set; } = true; public List<ManifestEntry> Entries...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru