Ошибка при создании экземпляра класса, который имеет атрибут с универсальными типами [дубликаты]

Следующий код не полностью на английском языке, но вы поняли.

class Student : public Osoba{
    const int _brojIndeksa;
    Kolekcija<Predmet, int, 5> _polozeniPredmeti;
    vector<char*> _seminarski;      // naslovi seminarskih radova

    public:
    // constructor
    Student(char* ip, int brIndeksa) // brIndeksa is a global variable
        :Osoba(ip), _brojIndeksa(brIndeksa), _polozeniPredmeti()
    {
        cout << "Test!" << endl;
    }

Ошибка, которую я получаю, упоминает buffer being too small.

Я обнаружил, что проблема заключается в этой строке:

 Kolekcija<Predmet, int, 5> _polozeniPredmeti;

Если я сделаю это, например, так:

Kolekcija<int, int, 5> _polozeniPredmeti;

программа работает. Так что этот класс Predmeti (школьные предметы) как-то виноват:

class Predmet
{
    char* _naziv;
    char* _profesor;
    public:
    Predmet(char* naziv = "<naziv>", char* prof = "<prof>")
    {
        int size = strlen(naziv);
        _naziv = new char[size];
        strcpy_s(_naziv, size, naziv);

        size = strlen(prof);
        _profesor = new char[size];
            strcpy_s(_profesor, size, prof);
    }

Я предполагаю, что конструктор по умолчанию вышеуказанного класса вызывается при создании экземпляра Student.

Наконец, класс Kolekcija выглядит так (и он был протестирован со встроенными типами (int, double):

template<class T1, class T2, int max>
class Kolekcija
{
    T1* _clan1[max];
    T2* _clan2[max];
    int* _trenutnoClanova;
    public:

    Kolekcija()
    {
        cout << "pocetak" << endl;

        for (int i = 0; i < max; i++)
        {
            _clan1[i] = new T1;
            _clan2[i] = new T2;
        }
        _trenutnoClanova = new int(0);
    }

Любая помощь будет оценена!


person developer10    schedule 22.12.2015    source источник
comment
Какую именно ошибку вы получаете?   -  person aschepler    schedule 22.12.2015
comment
Я не могу поверить, что пропустил добавление + 1, потому что я делал это десятки раз в этом месяце, и остальная часть моего кода также содержит его в таких местах.   -  person developer10    schedule 22.12.2015