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

Ошибка в xcode signal sigabrt, c++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ All_of и stoi не члены std? http://www.cyberforum.ru/cpp-beginners/thread1173108.html
#include <iostream> #include <string> #include <algorithm> //std::all_of #include <stdlib.h> //atoi void menu(){ std::cout << "1. Add record(s)" << std::endl; std::cout << "2. View records" << std::endl; std::cout << "3. Remove record(s)" << std::endl;
C++ Std::ifstream не хочет нормально работать Доброго времени суток! Поясните, пожалуйста, как исправить такие вот проблемки... Компилятору не нравится строчка ifstream arch (aconf_name.c_str(), ios::in); Выдает следующие ошибки: error C2079: "arch" использует неопределенный class "std::basic_ifstream<_Elem,_Traits>" with error C2078: слишком много инициализаторов http://www.cyberforum.ru/cpp-beginners/thread1173085.html
Отсортировать по первой цифре C++
Прошу пожалуйста исправить сортировку по расчетным счетам по первой цифре, находящаяся на 87-ой строке. Вот мой завтрак: #include <iostream> #include <fstream> using namespace std; const int n=21;
C++ Написать программу поиска числа книг с заданным кодом издания
помогите, пожалуйста, решить. 2) написать программу поиска числа книг с заданным кодом издания
C++ структуры. Копирование и сортировка http://www.cyberforum.ru/cpp-beginners/thread1173068.html
помогите решить 1)Написать программу копирования одной структуры (с информацией о книге) в другую 2)Написать программу сортировки книг в массиве структур по убыванию года издания
C++ Определить количество слов в строке, содержащих заданный символ С клавиатуры вводится строка, которая состоит из слов, разделенных одним или несколькими пробелами. Напишите функцию (строка является параметром функции), которая для введенной строки выполняет необходимые действия. Функция определяет количество слов, которые содержат введенный символ. Символ является параметром функции. подробнее

Показать сообщение отдельно
IgorSer
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 103
12.05.2014, 12:50     Ошибка в xcode signal sigabrt, c++
Делаю класс матриц, при компиляции вылизает ошибка "Thread 1: signal SIGABRT".
Возникает в диструкторе класса.
C++
1
2
3
4
5
6
Matrix::~Matrix()
{
 for(int i = 0; i < Rows; i++)
   delete []buffer[i];
 delete[] buffer;
};
Весь код:
Matrix.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdio.h"
 
class Matrix
{
private:
  int Rows; // строки матрицы
  int Cols; // столбцы матрицы
  float **buffer; // матрица
public:
  Matrix(int Row = 1, int Col = 1);
  ~Matrix(void);
  
  void Create();
  void Print();
  
  Matrix Sum(Matrix a); // сумма матриц
};
Matrix.cpp

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
58
59
60
61
#include "Matrix.h"
#include "cmath"
#include "stdlib.h"
#include "iostream"
#include "iomanip"
 
using namespace std;
 
Matrix::Matrix(int Row, int Col)
{
  Rows = Row;
  Cols = Col;
  buffer = new float*[Rows];
  
  for(int j = 0; j < Rows; j++) {
    buffer[j] = new float[Cols];
    for(int i = 0; i < Cols; i++)
      buffer[j][i] = 0.0;
  }
};
 
Matrix::~Matrix()
{
 for(int i = 0; i < Rows; i++)
   delete []buffer[i];
 delete[] buffer;
};
 
void Matrix::Create()
{
  int q = 1;
  //cout << "Введите матрицу: " << endl;
  for(int i = 0; i < Rows; i++)
    for(int j = 0; j < Cols; j++) {
      //cout << "[" << i+1 << "]" << "[" << j+1 <<"]: ";
      //cin >> buffer[i][j];
      buffer[i][j] = q;
      q++;
    }
}
 
void Matrix::Print()
{
  for(int i = 0; i < Rows; i++) {
    for(int j = 0; j < Cols; j++)
      cout << setw(4) << buffer[i][j];
    cout << endl;
  }
}
 
Matrix Matrix::Sum(Matrix a)
{
  if(Rows == a.Rows && Cols == a.Cols) {
    Matrix t(Rows,Cols);
    for(int i = 0; i < Rows; i++)
      for(int j = 0; j < Cols; j++)
        t.buffer[i][j] = buffer[i][j] + a.buffer[i][j];
    return t;
  } else
    return *this;
}
main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "iostream"
#include "Matrix.h"
using namespace std;
int main(int argc, const char * argv[])
{
  Matrix a(2,2), b(2,2), c(2,2);
  
  a.Create();
  b.Create();
  
  cout << endl;
  cout << "Матрица 1: " << endl;
  a.Print();
  cout << "Матрица 2: " << endl;
  b.Print();
  
  c.Sum(b);
  c.Print();
}
если есть где то ошибки, поправьте пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru