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

Шаблон класса деструктор вызывает ошибку - C++

Восстановить пароль Регистрация
 
Дъячелли
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 58
04.06.2014, 11:11     Шаблон класса деструктор вызывает ошибку #1
Не так чего после того как доходит до деструктора выдает такую ошибку

Шаблон класса деструктор вызывает ошибку

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
62
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <windows.h>
 
using namespace std;
 
template <class T> 
class A{
        
    int  size;        
    T    *mas;
 
public:
    A(int s);
    ~A(){
        if(mas){
            delete [] mas;
        }
    };      
    void set();
    void print();   
};
 
template<class T>A<T>::A(int s){
    size = s;
    if(s)
    mas = new T [size];
    else
    mas = 0; 
}
 
template<class T>void A<T>::set(){
    for(int i=1;i<size+1;i++){
        cout << "A[" << i << "] = ";
        cin >> mas[i];
    }
}
 
template<class T>void A<T>::print(){
    for(int i=1;i<size+1;i++){
        cout << "A[" << i << "] = " << mas[i]/i << endl;
    }
}
 
using namespace System;
 
int main()
{
    //----------->>>>>>>>> для int
    A<int>my(3);
    my.set();
    my.print();
    _getch();
    //----------->>>>>>>>> для double
    A<double>my_2(3);
    my_2.set();
    my_2.print();
    _getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 11:11     Шаблон класса деструктор вызывает ошибку
Посмотрите здесь:

C++ _BLOCK_TYPE_IS_VALID при вызове деструктора класса
C++ Перечисление в классе вызывает ошибку
Когда вызывается деструктор класса? C++
C++ Объявление вызывает ошибку
Деструктор класса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
04.06.2014, 11:15     Шаблон класса деструктор вызывает ошибку #2
Цитата Сообщение от Дъячелли Посмотреть сообщение
for(int i=1;i<size+1;i++){
* * * * cout << "A[" << i << "] = ";
Массивы индексируются с нуля, тут выход за границу.
Дъячелли
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 58
04.06.2014, 11:31  [ТС]     Шаблон класса деструктор вызывает ошибку #3
так если с нуля тогда в функции print будет на 0 делитьcя и опять ошибка ?

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<class T>void A<T>::set(){
    for(int i=0;i<size;i++){
        cout << "A[" << i << "] = ";
        cin >> mas[i];
    }
}
 
template<class T>void A<T>::print(){
    for(int i=0;i<size;i++){
        cout << "A[" << i << "] = " << mas[i]/i+1 << endl;
    }
}
сделала так ошибка сразу в первом принте появилась, похоже это не деструктор а деление, чего-то не фуричит как мне хочется

Добавлено через 10 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<class T>void A<T>::set(){
    for(int i=0;i<size;i++){
        cout << "A[" << i << "] = ";
        cin >> mas[i];
    }
}
 
template<class T>void A<T>::print(){
    for(int i=0;i<size;i++){
        cout << "A[" << i << "] = " << mas[i]/(i+1) << endl;
    }
}
да все просто, никаких проблем с деструктором, это у меня похоже проблемы массивами, спасибо =)
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,021
Записей в блоге: 10
Завершенные тесты: 1
04.06.2014, 11:54     Шаблон класса деструктор вызывает ошибку #4
C++
1
mas[i]/(i+1);
В чем проблема?
Дъячелли
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 58
04.06.2014, 11:57  [ТС]     Шаблон класса деструктор вызывает ошибку #5
да сама заметила, затупила =), а к массивам и правда строго с нуля, в этом изначальная проблема бла
Yandex
Объявления
04.06.2014, 11:57     Шаблон класса деструктор вызывает ошибку
Ответ Создать тему
Опции темы

Текущее время: 19:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru