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

Ошибка в 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...
C++ Std::ifstream не хочет нормально работать Доброго времени суток! Поясните, пожалуйста, как исправить такие вот проблемки... Компилятору не нравится строчка ifstream arch (aconf_name.c_str(), ios::in); Выдает следующие ошибки: error... http://www.cyberforum.ru/cpp-beginners/thread1173085.html
Отсортировать по первой цифре C++
Прошу пожалуйста исправить сортировку по расчетным счетам по первой цифре, находящаяся на 87-ой строке. Вот мой завтрак: #include <iostream> #include <fstream> using namespace std; const...
C++ Написать программу поиска числа книг с заданным кодом издания
помогите, пожалуйста, решить. 2) написать программу поиска числа книг с заданным кодом издания
C++ структуры. Копирование и сортировка http://www.cyberforum.ru/cpp-beginners/thread1173068.html
помогите решить 1)Написать программу копирования одной структуры (с информацией о книге) в другую 2)Написать программу сортировки книг в массиве структур по убыванию года издания
C++ Определить количество слов в строке, содержащих заданный символ С клавиатуры вводится строка, которая состоит из слов, разделенных одним или несколькими пробелами. Напишите функцию (строка является параметром функции), которая для введенной строки выполняет... подробнее

Показать сообщение отдельно
IgorSer
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 103

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

12.05.2014, 12:50. Просмотров 984. Ответов 2
Метки (Все метки)

Делаю класс матриц, при компиляции вылизает ошибка "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();
}
если есть где то ошибки, поправьте пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.