Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> класс шаблон двумерный массив 
:(
    Опции темы
Mormishka
Дата 2.5.2011, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Не могу понять что не так.

Код
//Massive.h
#pragma once

template <class T> class Massiv
{
public:
    int nx,ny,nz;
    T** ar;
    Massiv(int nx_,int ny_);
    ~Massiv(void);
};


Код
//Massive.h
#include "Massiv.h"


template <class T> Massiv<T>::Massiv(int nx_,int ny_)
{
    nx=nx_;
    ny=ny_;
    ar=new T[nx];
    for (int i=0;i<nx;i++)
    {
        T[i]=new T[ny];
    }
}


template<class T> Massiv<T>::~Massiv(void)
{

}


Код
#include "Massiv.h"
int main() {
       Massiv<double> MyMassiv(5,7);
}


Цитата

Ошибка    1    error LNK2001: неразрешенный внешний символ ""public: __thiscall Massiv<double>::~Massiv<double>(void)" (??1?$Massiv@N@@QAE@XZ)"    Ошибка    2    error LNK2001: неразрешенный внешний символ ""public: __thiscall Massiv<double>::Massiv<double>(int,int)" (??0?$Massiv@N@@QAE@HH@Z)"




 ! 
bsa
Для выделения сообщений компилятора используй тег QUOTE (цитата)!
 

Это сообщение отредактировал(а) bsa - 3.5.2011, 22:23
PM MAIL   Вверх
JЕT
Дата 2.5.2011, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 30.9.2010

Репутация: нет
Всего: нет



Интерфейс и реализация шаблонного класса должны находиться в одном файле.

Код

T[i]=new T[ny];


Т в данном случае - это шаблонный тип, а не переменная.

Это сообщение отредактировал(а) JЕT - 2.5.2011, 21:36
PM MAIL   Вверх
azesmcar
Дата 2.5.2011, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Mormishka

Определение шаблонного класса пишется в заголовочном файле.
PM   Вверх
Mormishka
Дата 3.5.2011, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Вроде сделал вот так. 
Как можно чтоб в режиме отладки можно было просматривать значения?

Код

template <class T> class Massiv
{
public:
    int nx,ny,nz;
    T** ar;
    Massiv(int nx_,int ny_);
    ~Massiv(void);
};

template <class T> Massiv<T>::Massiv(int nx_,int ny_)
{
    nx=nx_;
    ny=ny_;
    ar=new T*[nx];
    for (int i=0;i<nx;i++)
    {
        ar[i]=new T[ny];
    }
    for (int i=0;i<nx;i++)
    {
        for (int j=0;j<ny;j++)
        {
            ar[i][j]=0;
        }
    }
}


template<class T> Massiv<T>::~Massiv(void)
{
    for (int i=0;i<nx;i++)
    {
         delete[]ar[i];
    }
    delete[]ar;
}


Это сообщение отредактировал(а) Mormishka - 3.5.2011, 20:03
PM MAIL   Вверх
JЕT
Дата 3.5.2011, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 30.9.2010

Репутация: нет
Всего: нет



Ставь точку останова и смотри в отладчике. Или же сделай вывод в конструкторе и деструкторе.
PM MAIL   Вверх
Mormishka
Дата 3.5.2011, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



JЕT
Так как он показвате только адрес первого элемента и его значение, а остальные как. Вывод то понятно, что можн сделать, а если меня другой тип данных.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0858 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.