Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 29.05.2015
Сообщений: 27
1

Неккоректная работа конструктора с template

25.10.2015, 23:23. Показов 598. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте, недавно начал работать с template в C++. Попробовал реализовать простенький класс матрицы, конструктор которой принимает в себя 2 аргумента типа int, однако при компиляции происходит ошибка. Буду благодарен если вы поможете понять что она из себя представляет:
gen.h:
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
template <typename T>
class matrix2D
{
public:
    int w;
    int h;
    T* body;
    matrix(int n, int m)
    {
        w = n;
        h = m;
        body = new T[n][m];
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                body[n, m] = NULL;
            }
        }
    }
    ~matrix()
    {
        delete [] body;
    }
    T get(n, m)
    {
        if(n<w && m<h && n>-1 && m>-1)
        {
        return body[n, m];
        }
    }
    void set(n, m, T object)
    {
        if(n<w && m<h && n>-1 && m>-1)
        {
        body[n, m] = object;
        return true;
        }
        else return false;
    }
};
main.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "gen.h"
using namespace std;
 
int main()
{
 
    setlocale(LC_ALL, "Russian");
    
    matrix2D<int> a(50, 50);
 
    getch();
    return 0;
}
Ошибка в 9 строке: "No suitable constructor exists to convert from int to matrix2D<int>", однако конструктор принимает в себя аргументы именно int.

Добавлено через 1 минуту
Только что разобрался, просто намудрил с названиями класса и конструктора, тему можно закрывать. Неудобно вышло :(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2015, 23:23
Ответы с готовыми решениями:

[template] почему код не компилируется без конструктора
добрый вечер. вопрос поместил прямо в коде. http://rextester.com/AESO94403 #include...

Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier
Решил подправить свой класс с использованием шаблонов, но столкнулся со следующим косяком. Если я...

Template definition of non-template при использовании частичной спецификации шаблонов
Всем привет! Есть задача написать шаблон класса, принимающего в качестве параметров типа шаблон и...

'MyQueue' : use of class template requires template argument list
Написал код про шаблоны. Не могу понять почему выводит ошибку во время наследования класса. ошибки...

1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
25.10.2015, 23:29 2
zoom-zoom
C++
1
2
3
class matrix2D
//...
    matrix(int n, int m)
так виднее?
0
25.10.2015, 23:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2015, 23:29
Помогаю со студенческими работами здесь

В чем различие template <typename T> от template <class T> ?
Добрый день ! Заметил в новых книгах применение записи template &lt;typename T&gt; вместо template...

Ошибка компиляции: template-id does not match any template declaration
Здравствуйте. Помогите, пожалуйста: #include &lt;iostream&gt; using namespace std; template...

Visual Studio выдаёт ошибку при вынесении объявления функции с template в .h файл. Без template всё работает
Проект содержит три файла: Source.cpp, arrTreat.h, arrTreat.cpp. Source.cpp: #include...

Работа в теле конструктора
constructor Account::Account(int initialBalance) { if (initialBalance &gt;= 0) balance =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru